2017-08-22 34 views
0

実行可能なjarファイルを作成しようとしています。私はTest.javaファイルを持っていると、このコマンドの実行後:実行可能なjarファイルとmanifest.txtを作成できません

javac Test.java 

を私は今、二つのファイルがあります。Test.javaと今Test.javac

を、私のJARファイルを作成するために、私はこれをしなかった:

jar cvf Test.jar Test.class 

しかし、jarファイルを実行した後:

012:

java -jar Test.jar 

を私はこのメッセージが表示されます

no main manifest attribute, in Test.jar 

それでは、私はマニフェストファイルを必要に応じて読み、私はこれでした:

jar cvfm Test.jar manifest.txt *.class 

をしかし、私はこのメッセージを得た:Iので

java.io.FileNotFoundException: manifest.txt (No such file or directory) 

は今、私は少し混乱していますが私が間違って行ったことを知らない。私の2つの質問は:

1)実行可能なjarファイルを正しく作成するにはどうすればいいですか?

2)マニフェストファイルとは何ですか?

EDIT

次のように私の方向構造は次のとおりです。私はそのフォルダ内/

メイン

テスト/ srcに/私/パブロ/:Test.java、Test.class、 Manifest.txt、およびjarファイルが含まれています。

しかし、私がコマンドを実行すると、私はTest/src/me/pablo/main /内で行います。したがって、長いアドレスを使う必要はありません。

+0

あなたはjarファイル「ジャーCVFMのmanifest.txt Test.jar * .classファイル」 –

+0

@AlexanderPetrovのインフロントマニフェストファイルを配置しようとすることはできます私はこのエラーが発生します: "java.io.IOException:無効なヘッダーフィールド" – Pablo

答えて

0

マニフェストファイルは、アプリケーションエントリポイントを示すアーカイブです。あなたの瓶に入れる必要があります。実行可能なJarファイルを適切に作成する必要があります。あなたは自分のメインクラス(あなたのmainメソッドを持つクラス)であるかを示し、このファイルにあります。

Main-Class: MyPackage.MyClass

Hereは、それについてのドキュメントです。

あなたのためのマニフェストファイルを作成するコマンドがあります:

jar cfe YourJar.jar yourPackage.YourClass yourPackage/YourClass.class

+0

1つを正常に生成する方法はありますか? 'メインクラス: 'ジャーのCFM MYJAR:MyPackage.MyClass' は、次に、以下のコマンドを入力してMyJar.jarという名前のJARファイルを作成 – Pablo

+0

まず次の内容のManifest.txtという名前のテキストファイルを作成します。 jar Manifest.txt MyPackage/*。クラス ' –

+0

OK、マニフェストファイルを作成しました。最初の行にメインクラスを追加しました。それから、私は走った:jar cfm MyJar.jar Manifest.txt * .class。 jarファイルにはまだマニフェストファイルがないと表示されます。メインクラス:me.pablo.main.Test – Pablo

関連する問題