0

2つのエージェントを作成しましたが、正常に動作します。しかし、オントロジークラスを追加してオントロジーを登録すると、エージェントを作成できません...次のエラーが発生しました。

Jun 1, 2012 8:56:55 AM jade.core.BaseService init
INFO: Service jade.core.management.AgentManagement initialized
Jun 1, 2012 8:56:55 AM jade.core.BaseService init
INFO: Service jade.core.messaging.Messaging initialized
Jun 1, 2012 8:56:55 AM jade.core.BaseService init
INFO: Service jade.core.mobility.AgentMobility initialized
Jun 1, 2012 8:56:55 AM jade.core.BaseService init
INFO: Service jade.core.event.Notification initialized
Jun 1, 2012 8:56:55 AM jade.core.messaging.MessagingService clearCachedSlice
INFO: Clearing cache
Jun 1, 2012 8:56:55 AM jade.mtp.http.HTTPServer <init>
INFO: HTTP-MTP Using XML parser com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser
Jun 1, 2012 8:56:55 AM jade.core.messaging.MessagingService boot
INFO: MTP addresses:
http://169.254.108.164:7778/acc
Jun 1, 2012 8:56:55 AM jade.core.AgentContainerImpl startBootstrapAgents
SEVERE: Cannot create agent STMAgent: An undeclared exception was thrown [nested   java.lang.ExceptionInInitializerError]
Jun 1, 2012 8:56:55 AM jade.core.AgentContainerImpl startBootstrapAgents
SEVERE: Cannot create agent REquestAgent: An undeclared exception was thrown [nested java.lang.NoClassDefFoundError: Could not initialize class FruitOntology.FruitOntology]
Jun 1, 2012 8:56:55 AM jade.core.AgentContainerImpl joinPlatform

クラスパスは正しいです。オントロジークラスパスも正しいです。これの理由は何ですか?Plzは私を助けてくれます............私はエラーを見つけました..それは私のオントロジークラスにあります..ありがとう..

4

1 に答える 1

1

重大なエラーメッセージは次のようです。

SEVERE: Cannot create agent REquestAgent: An undeclared exception was thrown 
  [nested java.lang.NoClassDefFoundError: 
   Could not initialize class FruitOntology.FruitOntology]

あなたのコードはFruitOntologyパッケージ内のクラスを見つけFruitOntologyていません (これはあまり良いパッケージ名ではありません。通常、パッケージ名は小文字で始まり、通常は組織のドメイン名を逆にする規則に従います)。

コードを表示していないため、そのエラーが発生した理由を推測することしかできません。おそらく、どこかの構成ファイルで名前のつづりを間違えていませんか? プロジェクト全体で grep を実行して、FruitOntology.FruitOntology発生する場所を確認します。何らかの理由で Java Reflection を使用していない限り、欠落しているクラスに対してコンパイル エラーが発生するため、通常の Java コードではおそらくそうではありません。

于 2012-06-01T19:26:39.477 に答える