1

私は自分のプロジェクトに何かが欠けていると思います。私が割り当てた特定のタスクを実行するエージェントが必要です。JADEを使用しています。内部では、action()1 から 10 までの数字を表示する for ループを作成しました。実行中にエラーは表示されず、ループも実行されません。私が実行すると:

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

例外が発生し、classNotFoundエージェントを作成できないことも示されます。

私が実行すると:

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

エージェントの準備ができているという情報を取得しましたが、アクション メソッドが呼び出されません。

その理由は何ですか?私は何をすべきか?

4

1 に答える 1

1

IDE で jade を実行してみてください。netbeans を使用している場合は、[プロジェクト プロパティ] -> [実行] に移動できます: メイン クラス: jade.Boot 引数: -gui agentName:packageName.AgentClassName (デフォルト パッケージを使用している場合: agentName:AgentClassName)

関数内の TestAgent に動作を追加していsetup()ますか? を使用してそれを行うことができますaddBehaviour(new myBehaviourClassName())

エージェントまたは動作でループ関数を使用しないでください (少なくとも大きなループは使用しないでください)。代わりに循環動作 (または関数にループ停止条件を指定した SimpleBehaviours done()) を使用し、動作を所有するエージェントを使用して情報を保存します。関数内の「ループ」の 1 回または数回の反復のみを処理する必要がありますaction()

コマンド ラインから jade を実行する場合java jade.Boot -gui agentName:TestAgent は、メイン コンテナーでエージェントを起動します。クラスが見つからないというエラーが発生した場合は、cmd で現在のパスを確認してくださいprojectPath\build\classes(少なくとも Netbeans プロジェクトでは、別の IDE を使用している場合はパスが異なる場合があります)。

于 2013-03-22T14:20:05.630 に答える