jarとマニフェスト

Java + eclipseでコーディングを終えてjarにエクスポートする時
エクスポートウィザードでは外部jarに関する設定
(外部jarを含めるとかクラスパスの設定とか)
ができないように見えた。


なので自分が調べた対処方法をメモっておく。


まずjarはご存知の通りzipの拡張子違いなので
生成したjarの拡張子をzipに変えて中身を覗いてみる。


するとMETA-INF/MANIFEST.MFというマニフェストファイルが存在するので
このファイルに必要な外部jarへのパスを記述することで
eclipseで何の考えなしに動かしたときと同じ環境を構築できるようだ。


で、パスの書き方は以下の通り。
複数の外部jarがあれば半角スペースで区切ってやる。

Class-Path: aaaaa.jar ./jar/bbbbb.jar


色々試してみたところ、
エクスポートしたjarと同じ階層に外部jarを配置するのであれば
aaaaa.jarという書き方でOKっぽい。


また、./jar/bbbbb.jarのように
相対パスの書き方でも指定可能なようだ。


絶対パスは試したところうまくいかなかったが、
自分の書き方が悪かっただけでできるのかもしれない。


あと、この外部jar自体もエクスポートしたjarに
含めてしまう事もできるようだが、今回はそこまでやっていない。


また時間があるときに調べてみようかと思う。