为了账号安全,请及时绑定邮箱和手机立即绑定

在 JADE 中创建代理

在 JADE 中创建代理

largeQ 2023-08-16 16:26:06
我在使用 JADE 创建代理时遇到问题。我的结构/  Applications    jade      lib        jade.jar        jadeExamples.jar      src        examples          hello            HelloWorldAgent.class            HelloWorldAgent.java我的档案HelloWorldAgent.javapackage examples.hello;import jade.core.Agent;public class HelloWorldAgent extends Agent {    protected void setup() {        System.out.println("Hello! My name is "+getLocalName());    }}我创建代理的步骤如下:/Applications/jade/src/examples/hello $ javac *.java/Applications/jade/src/examples/hello $ java jade.Boot -gui -agents fred:examples.hello.HelloWorldAgent我的类路径/Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home:/Applications/jade/lib/jade.jar:/Applications/jade/lib/jadeExamples.jar:/Applications/jade/src/我的问题如果我更改 HelloWorldAgent 中的消息(例如System.out.println("Hello ! My name is "+getLocalName());),当我运行代理时它不会更新(控制台显示Hello World! My name is fred)。当我在 hello 文件夹中创建一个新类时,我在 GUI 中找不到我的代理。我错过了什么?
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

您没有正确设置类路径。您的类路径可以包含两种条目类型:

因此,类路径包含:

  • JAR 文件,以及

  • 到包层次结构顶部的路径。

在您的情况下,您仅参考以下.jar文件:

  • /Library/Java/JavaVirtualMachines/jdk-12.0.2.jdk/Contents/Home

  • /Applications/jade/lib/jade.jar

  • /Applications/jade/lib/jadeExamples.jar

请注意,您的工作路径/Applications/jade/src/examples/hello/不在类路径中。这意味着您的自定义翡翠类不可见/不可访问。

要解决您的问题,您必须在类路径中添加要使用的其他路径。通常,您使用目录.来指示您希望类路径中的“当前目录”。

请记住,您jadeExamples.jar的类路径中有 JAR 文件。当您有.class更改的HelloWorldAgent类的文件时,可能不清楚 JVM 正在加载哪个类,是 JAR 文件中的类还是.class文件系统中的文件。不要在类路径中两次提供具有相同包的相同类,甚至不要jadeExamples.jar使用新更改的 JAR 文件更改该文件(这可能会更加令人困惑)。相反,在您的包/命名空间/目录中创建一个新代理并加载它-agents foobar:your.package.and.ClassName,但确保正确设置类路径。


查看完整回答
反对 回复 2023-08-16
  • 1 回答
  • 0 关注
  • 90 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信