私はEclipseとJavaに比較的新しいので、命名法で間違いをお許しください。外部の.javaファイルと.classファイルを追加した後にNoClassDefFoundError例外を取得する
私は、外部API(Amazon Web Service API)を実装しているAndroidアプリケーションを作成しています。ダウンロードされたAPIファイルには、.classファイルを含むディレクトリと.javaファイルを含むディレクトリが含まれます。 .javaファイルが含まれてい
Eclipse->プロジェクトのプロパティ - > Javaのビルドpath->ソース - >リンクソース - >を選択したディレクトリ:
は、依存関係としてこれらを追加することで、私は次のように行われています。
Eclipse->プロジェクトプロパティ - > javaビルドパス - >ライブラリ - >外部クラスフォルダを追加 - > .classファイルを含むディレクトリを選択します。この構成の下で、コンパイル時に
、私は次のエラーを取得する:
java.lang.IllegalArgumentException: already added: Lcom/ECS/client/jax/VariationSummary;
Conversion to Dalvik format failed with error 1
エラーがすべてのクラスファイルに対して一度繰り返されます。
これをトラブルシューティングするには、外部クラスフォルダへの参照を削除して、プログラムをコンパイルして実行してください。しかし、は、APIのメソッドの 1を利用したコード・セグメントに到達すると、私は次のエラーでクラッシュを取得:
01-15 15:29:20.756: E/AndroidRuntime(1038): java.lang.NoClassDefFoundError: com.ECS.client.jax.AWSECommerceService
EDITを
のフルスタックトレース:
01-15 17:12:28.256: W/dalvikvm(1227): Unable to resolve superclass of Lcom/ECS/client/jax/AWSECommerceService; (365)
01-15 17:12:28.296: W/dalvikvm(1227): Link of class 'Lcom/ECS/client/jax/AWSECommerceService;' failed
01-15 17:12:28.296: E/dalvikvm(1227): Could not find class 'com.ECS.client.jax.AWSECommerceService', referenced from method com.giftme.Amazon.searchRequest
01-15 17:12:28.296: W/dalvikvm(1227): VFY: unable to resolve new-instance 66 (Lcom/ECS/client/jax/AWSECommerceService;) in Lcom/giftme/Amazon;
01-15 17:12:28.306: D/dalvikvm(1227): VFY: replacing opcode 0x22 at 0x0000
01-15 17:12:28.306: D/dalvikvm(1227): VFY: dead code 0x0002-0033 in Lcom/giftme/Amazon;.searchRequest (Ljava/lang/String;)Z
01-15 17:12:28.306: W/dalvikvm(1227): threadid=10: thread exiting with uncaught exception (group=0x40015560)
01-15 17:12:28.306: E/AndroidRuntime(1227): FATAL EXCEPTION: Thread-13
01-15 17:12:28.306: E/AndroidRuntime(1227): java.lang.NoClassDefFoundError: com.ECS.client.jax.AWSECommerceService
01-15 17:12:28.306: E/AndroidRuntime(1227): at com.giftme.Amazon.searchRequest(Amazon.java:21)
01-15 17:12:28.306: E/AndroidRuntime(1227): at com.giftme.Friend$InterestsRequestListener$4.parseDataAndSearch(Friend.java:359)
01-15 17:12:28.306: E/AndroidRuntime(1227): at com.giftme.Friend$InterestsRequestListener$4.run(Friend.java:329)
01-15 17:12:28.306: E/AndroidRuntime(1227): at java.lang.Thread.run(Thread.java:1019)
ここでは21行目を参照しています。
AWSECommerceService service = new AWSECommerceService();
NoClassDefFoundErrorの完全なスタックトレースを投稿できますか?次に、この特定のクラスが必要なコードを確認できます。 –
スタックトレースをOPに追加しました。これまでの助けに感謝します。 – SemperFly