2012-03-22 25 views
1

私のコマンドプロンプト(Windows XP)を使用してjarファイルを実行しようとしていますが、NoClassDefFoundErrorを取得しようとしています。コマンドプロンプトで.jarファイルを実行しようとしました

私はDateAndTime.classファイルをdateandtimeという名前のフォルダに持っていて、ソースファイルにdateandtimeというパッケージも示しました。私は、コマンド・ファイル

ジャーCMFでこれを入れdateandtime.DateAndTime

:私は仕様にMANIFEST.MFファイル

メインクラスを持っているフォルダの外

manifest.mf myJarFile.jar dateandtime

これは、manifest.mfと同じフォルダにmyJarFile.jarを作成します。

私は、このjarファイルを実行しようとすると、私はその後、指定されていないパッケージと同じディレクトリ内のすべてのクラスをjave場合しかし、私はmyJarFile.jar

-jar NoClassDefFoundErrorが

のjavaを取得.jarファイルは正常に動作しますが、パッケージを指定しようとすると、myJarFile.jarが作成されてもエラーが表示されます。

なぜですか?

よろしく

+0

をmyfile.jar -jar javaは 'NoClassDefFoundError'を示しているが、クラスが見つからないのですか?あなたのjarファイルの内容を表示する 'jar tf myJarFile.jar'の出力を投稿してください。 – mikej

答えて

2

あなたがNoClassDefFoundErrorを取得している場合、それはあなたのクラスのコンパイル時に存在したクラスは、実行時に不在であることを意味します。つまり、JARファイルに、実行するためにクラスが必要とするすべての依存関係がJARファイルに含まれていないことを意味します。あなたの質問にはプロジェクト構造の詳細が不足しているので、アプリケーションの依存関係ツリーを再訪して、すべてをJARに含める必要があるクラスを決定することをお勧めします。

+0

私はお詫び申し上げます。私はパッケージ宣言で間違いを犯しました。 – Arianule

0

構文:fileName.jar

-jar javaの

例:

関連する問題