実行可能な jar ファイルの MANIFEST.MF の次の抜粋があるとします。
Manifest-Version: 1.0
Main-Class: com.intersportleitner.skischule.gui.window.SkischulApplicationWindow
Class-Path: .
...
次のようなディレクトリ構造を持つことは可能ではないでしょうか。
Appdir
|- bla.jar (self-executable)
|- x.properties
|- y.properties
次のコードフラグメントを使用してプロパティをロードしようとすると、IOException が発生するためです: プロパティでストリームが閉じられました.load(stream):
Properties properties = new Properties();
InputStream istream=SkischulApplicationWindow.class.getClassLoader().getResourceAsStream("y.properties");
BufferedInputStream stream = new BufferedInputStream(istream);
properties.load(stream);
stream.close();
実際には istream が null であるため、例外は少し誤解を招くものです (テスト目的で istream のメソッドを呼び出そうとしたため...)、プロパティ ファイルが見つからず、失敗する理由がわかりません。 to Executable jar は、このように動作するはずのプロパティファイルを見つけられません...