我想我的项目中缺少一些东西。我需要代理来执行我指定的特定任务。我正在使用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
我将信息作为代理准备就绪,但操作方法未被调用。
可能是什么原因?我该怎么办?
答案 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,则路径可能是不同)。