2009年4月15日水曜日

MANIFEST.MFを使って、jarファイルをダブルクリックで実行



jarファイルをダブルクリックだけで実行できるようにしましょう。

例えば、Aaa.class、Bbb.class、Ccc.classをjarファイル
でまとめて、
Aaa.classのmainを実行したい場合の方法です。

●Jarファイルの作成
C:\java>jar cvf JarAbc.jar *.class
マニフェストが追加されました。
Aaa.class を追加中です。(入 = 614) (出 = 404)(34% 収縮されました)
Bbb.class を追加中です。(入 = 1308) (出 = 745)(43% 収縮されました)
Ccc.class を追加中です。(入 = 1375) (出 = 787)(42% 収縮されました)


●Jarファイルの解凍
C:\java>jar xvf Abct.jar
META-INF/ が作成されました。
META-INF/MANIFEST.MF が抽出されました。
Aaa.class が抽出されました。
Bbb.class が抽出されました。
Ccc.class が抽出されました。


Jarファイルをjarコマンドで作ると、MANIFEST.MFが作られます。
これが味噌です。


●META-INF\MANIFEST.MF ファイルに1行を追加。
Manifest-Version: 1.0
Created-By: 1.4.2_04 (Sun Microsystems Inc.)
Main-Class: Aaa


Main-Classに実行したいクラス名を記述します。

●Jarファイルの再作成(MANIFEST.MFの追加)
C:\java>jar cvfm Abc.jar META-INF\MANIFEST.MF *.class


●実行(ダブルクリック)
Abc.jarをダブルクリックしてみましょう。

もしくは、
C:\java>java -jar Abc.jar
で実行できます。

ディレクトリがある場合は、以下で実行です。
C:\java>java -jar directory.Abc.jar