まず,何かを実行する Java プログラムがあるとしましょう.これを Foo.java とします.内容は「100x100 のウィンドウを開き,線を1本 描く」という単純なものです.
// <applet code="Foo.class" width=100 height=100></applet> import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Foo extends Applet { public void init() { setBackground(Color.white); } public void paint(Graphics g) { g.drawLine(10,10,90,90); } public static void main(String args[]) { Applet applet=new Foo(); applet.init(); Frame f=new Frame(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) {System.exit(0);} }); f.add(applet); f.setSize(100+20,100+30); f.show(); } } |
jar コマンドには通常 jar ファイル名に加え,クラスファイルなどのアーカ イブに含めたいファイル名を指定します.
jar cf Foo.jar *.class |
Main-Class: Foo |
jar cfm Foo.jar Foo.mf *.class |
この操作により作成されたアーカイブ内容を jar コマンドで表 示させると以下のようになります.
% jar tf Foo.jar META-INF/ META-INF/MANIFEST.MF Foo.class Foo$1.class |
Manifest-Version: 1.0 Created-By: 1.4.2_04 (Sun Microsystems Inc.) Main-Class: Foo |
以上の処理で作成した jar ファイル ( FooExec.jar) を Web ブラウザで開くと Windows の Mozilla であれば「デフォルトの アプリケーション (jarfile) で開く」と出てそのままアプリケーションとし て実行することが可能です.IE の場合は,このリンクを右クリックし て一度ファイルを保存し,そのファイルをダブルクリックす ることで実行可能です(ただし拡張子が.htmlや.zipとなる場合があるような ので,保存時にファイル種類を「すべてのファイル」としファイル名の後ろに .jar を付加して下さい).
jar ファイルは「java -jar Foo.jar」としても実行可能です(マニフェスト ファイルでメインクラスを指定していない場合は「java -jar Foo.jar Foo」 などと jar ファイル名の後にメインクラスを明示する).
蛇足ですが,上記のサンプルプログラム中での addWindowListener の指定が ないと Windows 上ではウィンドウを閉じる操作をしても実行中のアプリケー ションは終了しません.