3

新しいテストクラスを追加しました。実行しようとしましたが、no class def found エラーが発生しました。しかし、他のテストクラスは問題なく動作します。そして、新しいテスト クラスがコンパイルされ、その .class ファイルが適切なフォルダーにあると確信しています。

4

3 に答える 3

2

質問には、実際の回答を提供するのに十分な情報がありません。

デバッグの最初のステップは、.class ファイルが本当にクラスパス上にあるかどうかを確認することです。

Class c = SomeClass.class;
System.out.println(c.getResource(c.getSimpleName() + ".class"));

null 以外のものを出力すると、.class ファイルはクラスパス上にあります。

2 番目のステップは、ロードしているクラスが存在しないために NoClassDefFoundError が実際に発生していることを確認することです。Eclipse 例外ブレークポイントを使用して NoClassDefFoundError でブレークし、実際にロードしようとしているクラスを確認します。クラス X がクラス Y をロードする必要がある場合があります。

于 2012-09-07T03:47:02.877 に答える
1

プロジェクトを右クリックし、maven->プロジェクト構成の更新を選択することで問題が解決しました。

しかし、私はまだ何が間違っているのかわかりません。

于 2012-09-08T10:49:34.840 に答える
0

クラス ファイルがコンパイル時に存在していたが、実行時に使用できない場合は、NoClassDefFoundError が発生します。したがって、クラスパスを確認することをお勧めします。おそらく、新しいテストにはライブラリまたは何かが不足しています。

于 2012-09-07T10:13:11.563 に答える