0

~/code/私が持っている フォルダーbin/ src/ lib/ では、コンテンツを含む manifest.txt が ~/ に作成されます。

Main-class: test.MyMainClass
Class-Path: lib/*.jar

次に ~ でコマンドを使用しました

jar cfm d.jar manifest.txt code/

それから私は走ります

java -jar d.jar

それは言う

Exception in thread "main" java.lang.NoClassDefFoundError: test/MyMainClass Caused by: java.lang.ClassNotFoundException: test.MyMainClass

4

1 に答える 1

3

bin、src、およびlibをパックするのはなぜですか? コンパイルされたクラスをパックする必要があります。

つまり、最初にプロジェクトをコンパイルします。いくつかのクラス dir を取得します。そのディレクトリに移動し、それらのファイルをjar.

次にMETA-INF/MANIFEST.MFMain-class: ...

この素敵な記事をチェックしてください - 最後の章。 http://www.skylit.com/javamethods/faqs/createjar.html


Java を初めて使用する場合は、.jar 内のファイルがどのように編成されているかなど、基本を学ぶことをお勧めします。

ただし、後で効率的にビルドするために、Maven を使用することをお勧めします。 http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

于 2012-07-08T21:34:23.747 に答える