JADE行动()不起作用

时间:2013-03-15 05:47:47

标签: java containers agent agents-jade

我想我的项目中缺少一些东西。我需要代理来执行我指定的特定任务。我正在使用JADE。在action()内部,我写了一个for循环来显示数字1到10.虽然没有运行错误,但循环没有被执行。我跑的时候:

java -cp jade.jar jade.Boot -gui agent:TestAgent

我得到classNotFound例外,并且还显示无法创建代理。

当我跑步时:

java -cp jade.jar jade.Boot -gui -agent agent:TestAgent

我将信息作为代理准备就绪,但操作方法未被调用。

可能是什么原因?我该怎么办?

1 个答案:

答案 0 :(得分:0)

尝试在IDE中运行jade。 如果您使用netbeans,则可以转到项目属性 - >跑: 主类:jade.Boot 参数:-gui agentName:packageName.AgentClassName(如果使用默认包使用:agentName:AgentClassName)

您是否在setup()功能中将行为添加到TestAgent? 您可以使用addBehaviour(new myBehaviourClassName())

执行此操作

你不应该在代理或行为中使用循环函数(至少不是大循环),使用循环行为(或done()函数中具有循环停止条件的SimpleBehaviours)代替并使用代理拥有行为以保存您在action()函数中仅处理“循环”的一次或几次迭代所需的信息。

如果要从命令行运行jade,请使用java jade.Boot -gui agentName:TestAgent 它将在主容器中启动您的代理。 如果您收到类未找到错误,请检查cmd中的当前路径,它应该是projectPath\build\classes(至少在Netbeans项目中,如果您使用的是其他IDE,则路径可能是不同)。