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 を選ぶとそれができるのです。
(詳しくはまた後日)

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)