Eclipseでjarを作るときにManifestファイルを絡めてみる
毎度、イガジーです。
Eclipseで、jarファイルを作るには
(1)
File:Export:Java:JAR file を選んで[Next]を押し
(2)
jarにするソースファイル(.java)を選択(チェックを入れる)し
出力ファイル名 JAR file___________ に
パス付きで名前を入れて[Next]を押し
(3)
JAR Packing Options はそのまま眺めて[Next]を押し
(4)
通常は、Specify the manifest:は
・Generate the manifest file
を選んで
Main class を [Brows]押して選んで[OK]
で
[Finish]を押します。
さて、manifestファイルと戯れるには上記手順の(4)で
・Generate the manifest file
の次にある
□Save the manifest int hte workspace
にチェックを入れて
Manifest file にファイル名(/project/src/manifest.txtなど)を入れます。
そうすると、JARファイルと共に指定したマニュフェストファイル
(/project/src/manifest.txt)も書き出されます。
それをEclipseで開いてみると
Manifest-Version: 1.0
などになっていると思います。
Main-Class: com.mltlab.ap.Sample
この「Main-Class:」は、(4)で指定したメインクラス名です。
何度もjarファイルを作り直している時は
毎回メインクラスを指定するのも面倒なので
(4)の手順の際に
・Use existing manifest from workspace
を選んで、生成させたmanifest.txtを指定してやると
少しだけ手間が減ります。
manifest.txtをもっと有意義に使うのは
自前ライブラリとして用意した jar を使うように
指定したjarを作る場合です。
例えば、mylib.jar という自前クラスを使ってEclipse上で
動かしていたとします(昨日のエントリを参照)。
で、これから作る jar ファイル(アプリ)を myapp.jar とします。
myapp.jar は、mylib.jarを使って動くわけです。
その場合、manifestには
Manifest-Version: 1.0
と書きます。
Class-Path: mylib.jar
Main-Class: com.mltlab.ap.Sample
そして、myapp.jar と同じディレクトリ(ホルダー)に
mylib.jar を置いた状態で、myapp.jarを動かすのです。
ライブラリ的 jar を組み込むには、上記の方法の他に
・ライブラリのjar(mylib.jar)を .class にバラして、
アプリ(myapp.jar)に組み入れる。
という方法と
・アプリ内(myapp.jar内)に、mylib.jarをそのまま組み入れる
(jar内でjarを使えるようにする処理も追加する)
という方法があります。
EclipseのExportで
Java:Runnable Jar file を選ぶとそれができるのです。
(詳しくはまた後日)
この記事へのコメントはこちら