jarファイルに含まれる他のjarファイル(B.jar)に依存する実行可能なjarファイル(A.jar) jarinjarloaderを介してアクセスします。そのコードが別のjarファイルのjarファイルからプロパティファイルを取得しようとしています
InputStream inStream = <Class>.getClassLoader().getResourceAsStream(propFile);
を呼び出したときに、これは、これらのjarファイル内のJavaコードにアクセスするために動作しますが、それはB.jarに含まれるプロパティファイルを見つけることができません。このコードはEclipseで動作するときに機能するので、正しいプロパティファイルがあることがわかります。
A.jarを抽出してからB.jarを抽出して結合ファイルを圧縮してみましたが、これはうまくいきません。マニフェストファイルを見てみると、メインクラスがあるorg.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
は、私がマニフェストファイルに作ることができるいくつかの変化(例えば、Rsrcのクラスパスに何かを追加する)ことがありますこれはうまくいくでしょうか? Rsrc-Class-Pathにはすでに "./"が含まれていますが、これはプロパティローダに自分のプロパティファイルが表示されないことは明らかです。
TIA、
グレッグ
ああ、IDEがビルドを管理してしまう危険性があります。あなたはjarinjarloaderを使う必要がありますか? – Paul
他の15種類のjarファイルを含む実行可能なjarをビルドする別の方法を教えていただけたら、それを聞いて非常にうれしいです。それがなければ、私はjarinjarloaderを使う必要があります。 –
1つの瓶をお届けする必要がありますか?もしそうなら、C.ラムゼイアの答えは良いものです。そこに私のコメントも見てください。 – Paul