0
java -jar <Name of executable jar>

1.6 jvmNoClassDefFoundが「jar」のエラーを返します。-jar実行するクラスではなく、オプションとして認識されないのはなぜですか?

jar 構造: マニフェストは、jar 内にある com.mycompany.EntryPoint.class で Main-Class をポイントします。また、Ant-Version も指定しており、ANT_HOME 環境変数を設定していません (Windows で実行)。

正確な実行時エラー:

Exception in thread "main" java.lang.NoClassDefFoundError: ûjar
caused by java.lang.ClassNotFoundException: ûjar
...

マニフェスト:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.1
Created-By: [redacted]
Main-Class: com/mycompany/EntryPoint

編集:理由はわかりませんが、もう一度試してみたところ、今度はjarが期待どおりに実行されました。

4

3 に答える 3

2

おそらく、「-jar」フラグに使用している「-」文字は、標準の ASCII の「-」記号ではなく、ある種の UTF-8 特殊文字です。

それを削除し、通常の ASCII '-' 記号に置き換えます。

于 2013-05-18T17:21:23.823 に答える
2

このエラーは、コマンド ラインの不適切な文字が原因です。ほとんどの場合、コピーして貼り付けていjava -jar <Name of executable jar>ます。

手動で書きます。)

于 2013-05-18T17:22:08.080 に答える
0

You need to check couple of things:

  1. Check whether manifest file is present in your jar META-INF directory
  2. If manifest file present, then whether it contains the details about your main class that need to be run when you call java -jar . Manifest file should look like this:

Manifest-Version: 1.0

Main-Class: name of class containing main

Make sure you have a line break after the last line of Manifest.mf.

于 2013-05-18T16:57:07.840 に答える