JARファイルの作り方


jarファイルはつぎのようにして作成する。App1.jarが作成するjarファイルである。

jar cf App1.jar . (ピリオドがあることに注意)

同じディレクトリにすべてのクラス(CLASSPATHで指定した以外の)があるものとする。
次のようにしてもOK。
jar -cf App1.jar *.class

この結果できたjarファイルには、MANIFEST.MFが追加されるが、Main-Class:指定がないので次のコマンドでmain()を含むクラス名を追加する。
jar umf App1.jar manifest.txt
manifest.txt(このファイル名は何でも良い)は、次のような内容を含むこと。
(例) Main-Class: App1
ここでApp1はmain()を含むクラスの名前である。

ソースにpackage文がある場合(パッケージ化されている場合:JBuilderで作成したアプリケーションはこれに当てはまる)は、package名.main()を含むクラス名となる。
(例)Main-Class: Package1.App1

環境変数CLASSPATH(クラスパス)を指定しないで、実行できるようにするには、マニフェストにClass-Path:を追加する。
Class-Path:にはディレクトリの他、jarファイルなども指定できる。
複数のディレクトリやファイルを指定するときはスペースで区切る。

MANIFEST.MFの例
Manifest-Version: 1.0
Created-By: 1.4.0 (Sun Microsystems Inc.)
Main-Class: threadtest.App1
Class-Path: .

複数ファイルを指定するときは、次のように指定する(Windowsのファイル表記でなくUNIX風にする)。

(例) Class-Path: . file://c:/j2sdk1.4.1/lib/xxxx.jar

(ピリオドがあることに注意)

つぎのように-Cオプションを使って一括指定もできる。

jar cvfm App1.jar manifest.txt -C classes/ .