1

Linuxで単純なJavaプログラムを実行しようとしていますが、NoClassDeffoundError.

基本的に、次のフォルダー構造があります。

lib/myRef.jar
src/MyTest.java //there are classes that being referenced in myRef.jar

私は次のようにコンパイルします:

javac -cp ../lib/myRef.jar MyTest.java //The class file is being gerenated in the same directory

次に、実行しようとすると:

java -classpath . myRef

NoClassDefFoundErrorjar ファイルで参照している on クラスを取得しています。

libと実行中の現在のクラスの両方を参照する必要がありますか?

4

1 に答える 1

3

はい、 Java を使用してコードを実行する場合、クラスパスにmyRef.jarも必要です。また、間違ったクラス名を Java に渡しているようです。クラスMyTestをメイン クラスとして実行する場合は、次を使用します。

java -classpath ../lib/myRef.jar:. MyTest

使用するサポート クラスに対してコンパイルするだけでは十分ではありません。プログラムを実行するときに、サポート クラスもクラスパスに存在する必要があります。

于 2012-08-31T20:52:45.013 に答える