- PR -

jarファイルの参照について

1
投稿者投稿内容
84
ベテラン
会議室デビュー日: 2005/11/04
投稿数: 83
投稿日時: 2008-07-18 10:03
いつもお世話になっております。

jarファイル内にあるjarファイルの
マニフェストを参照しようと思っていますが、
うまく参照できません。
どなたかよい方法をご存知の方がいらっしゃいましたら、教えてください。

具体的には以下のような構成になっています。

A.jar

├B.jar
|└META-INF
| └MANIFEST_B.MF

└META-INF
└MANIFEST_A.MF

ここで以下のようなプログラムを実行します。
URL url = new URL("jar:file:/A.jar!/B.jar);
JarURLConnection jarConnection = (JarURLConnection)url.openConnection();
Manifest manifest = jarConnection.getManifest();

すると、MANIFEST_A.MFの情報が取得できます。
このようなjarファイルの構成の場合、
MANIFEST_B.MFの情報を取得することはできないでしょうか。

B.jarを展開せずに
直接参照したいのですが、
よい方法がありましたら教えてください。

※環境はJDK1.3です。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2008-07-18 10:58
標準のJarに関するAPIの仕様では対応できません。
ネストされたjarはJavaからみると、単なるファイルでしかありません。

Jarの中にJarファイルを含めるソリューションはいくつかありますが、
クラスローダのカスタマイズを行い、
クラスローダを差し替えるということが必要になります。

http://www.ibm.com/developerworks/jp/java/library/j-onejar/index.html
84
ベテラン
会議室デビュー日: 2005/11/04
投稿数: 83
投稿日時: 2008-07-18 12:50
かつのりさん

回答ありがとうございます。
よくわかりました。
1

スキルアップ/キャリアアップ(JOB@IT)