Diff of UNIX/コマンド/圧縮、アーカイブ/jar


TITLE:jar - Java ARchiver
#navi(UNIX/コマンド)
#contentsx

jar コマンドで Java ARchive を作成できます。使い方は基本的に tar と同様です。
.jar なファイルから直接 Java アプリケーションを実行できるようにすることもできます。
 % jar cf [jar_file] [file ...]
で jar ファイルを作成します。v オプションをつければ詳細情報を出力します。
o オプションを使用すると、ZIP 圧縮をせず、保存だけ行います。
 % jar xf [jar_file]
で jar ファイルを展開します。
 % jar tf [jar_file]
で jar ファイル中のファイルを表示します。v オプションをつければ詳細情報を出力します。
 % jar cfm [jar_file] [manifest_file] [file ....]
のように m オプションを使用すると、既存のマニフェストファイルを指定できます。
例えば、manifest.mf というファイルを作成し、
 Main-Class: main
のように main 関数のあるクラス (この場合は main.class) を指定しておくと、
 % jar -jar [jar_file]
で実行できるようになります。
Windows では .jar ファイルに javaw が関連づけされていればダブルクリックで実行できるようにもなります。
 % jar cmf [manifest_file] [jar_file] [file ....]
のように オプションの順番を変えると指定ファイルの順番も変わるので注意してください。

*おまけ [#c40bdc36]

.jar ファイルから実行させるときに、画像ファイルなどを指定する必要がある場合は、
java プログラム中に
 URL file = [Classname].class.getResource("[filename]");
のようなコードを書いて、例えば getImage(URL url) に渡すと吉です。
[Classname] は、例えば Class Test { } クラス内なら、Test.class.getResource();
のようになります。
 URL file = this.getClass().getClassLoader().getResource("[filename]");
のようにしても同等です。
このようにしておくと、自動的にパスが jar 用に変更されます。
applet を作成するときなどにも有効です。

#navi(UNIX/コマンド,,footer,footer)
#navi(UNIX/コマンド,,footer)
xrea