3

私のMANIFEST.MFファイルは次のようになります

私の main() はクラスパスを出力します -

  ClassLoader cl = ClassLoader.getSystemClassLoader();

        URL[] urls = ((URLClassLoader)cl).getURLs();

        for(URL url: urls){
            System.out.println(url.getFile());
        }

私はjarファイルを次のように実行しています-

java -jar "C:\Project-1.0-SNAPSHOT.jar"

jar ファイルを実行すると、マニフェスト ファイルに設定されているクラス パスが表示されません。への絶対パスしか表示されませんC:\Project-1.0-SNAPSHOT.jar。どうしてこんなことに?明らかに、java.lang.NoClassDefFoundErrorエラーのためにコードの実行に失敗します

maven-jar-pluginこのjarファイルの作成に使用していることに注意してください

4

1 に答える 1

0

マニフェスト ファイルの最後の行の最後に改行があることを願っています。そうでない場合は、Manifest.mf の最後の行の後に改行を追加します。

于 2013-06-01T17:44:53.123 に答える