Java Eclipse:JARとしてのエクスポートと実行可能なJARとしてのエクスポートの違い


87

JARファイルとしてエクスポートすることとRunnableJARファイルとしてエクスポートすることのEclipseの違いは何ですか?どちらも実行可能ではありませんか?それぞれの長所/短所は何ですか?

回答:


98

実行可能なjarには、jarの実行時に実行されるMainクラスを定義するMANIFEST.MFファイルが含まれています。

実行不可能なjarはクラスのライブラリであり、コードを再利用するためにクラスパスに追加できます(マニフェストファイルも含まれていますが、メインクラスは含まれていません)。


実行可能なjarではなくjarとしてファイルをエクスポートする場合、manifest.mfでメインクラスとライブラリクラスパスを指定する必要があります。
MRと

20

実行可能なjarは、「Main-Class:」宣言を含むマニフェストファイルが埋め込まれたjarファイルです。「Main-Class」を定義して、jarが「実行」されたときにJavaランタイムが呼び出すクラスを認識できるようにする必要があります。jarに「Main-Class:」のマニフェストが含まれていない場合、「実行可能なjar」とは見なされません。これは、Javaコードの単なるライブラリです。

これはEclipseがjarをエクスポートする方法の違いだと思いますが、100%確実ではありません。

詳細については、次のリンクを参照してください:http//www.skylit.com/javamethods/faqs/createjar.html


17

標準のJARファイルでは、jarを実行するときに、コマンドラインでmainメソッドを使用してクラスを指定する必要があります。実行可能なJARには、その情報を保持するマニフェストファイルがあるためjava -jar myRunnable.jar、入力するか、ダブルクリックするだけです。


0

私の場合、manifest.mfですべてのメインクラスとすべてのライブラリパスディレクトリが指定されているときに、jarとしてエクスポートしていました。多くのアプリケーションが同じライブラリを使用している場合、jarごとに共有ライブラリをエクスポートする必要はありません。jarの実行が速くなります。ただし、多くの場合、異なるサーバーの構成の問題により、クラスパスはライブラリにアクセスできません。その場合、ファイルの実行が遅くなり、ファイルが大きくなる実行可能なjarをエクスポートすることは理にかなっています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.