1

次のコマンドを実行します。

C:\Projects\java -cp ./dependency.jar -jar ./dist/main.jar
Exception in thread "main" java.lang.NoClassDefFoundError: MyException
Caused by: java.lang.ClassNotFoundException: MyException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Main. Program will exit.

MyExceptionはdependency.jar内にあります。また、-cpを-classpathに置き換えようとしました。私は何を間違えますか?

4

2 に答える 2

5

-cpを使用する場合、オプションは無視されます-jar。クラスパスに追加のjarファイルが必要な場合は、次のmain.jarようなマニフェストでこれを指定する必要があります。

Class-Path: dependency.jar

(その後、を使用してプログラムを実行できますjava -jar main.jar。)

関連する質問:

于 2012-07-20T11:07:42.977 に答える
0

Windows環境変数CLASSPATHでクラスパスを指定してみましたか?

環境変数CLASSPATHを指定し、JAVA_HOME \ libと(すべてのクラスへのパス)の値を入力し、(ドットまたはピリオド記号)を含めることで現在のディレクトリも含めます。

于 2012-07-20T11:10:33.460 に答える