Eclipse でプログラムをコンパイルして実行すると、例外なく実行されます。しかし、それを実行可能なjarまたは通常のjarにエクスポートすると、設定ファイルが見つかりません。
私のパスは次のとおりです。
String path= "src/settings/settings.ini";
Eclipse では例外なく実行されますが、jar ではすぐに例外がスローされます。
jar を日食のように機能させるにはどうすればよいですか?
Eclipse でプログラムをコンパイルして実行すると、例外なく実行されます。しかし、それを実行可能なjarまたは通常のjarにエクスポートすると、設定ファイルが見つかりません。
私のパスは次のとおりです。
String path= "src/settings/settings.ini";
Eclipse では例外なく実行されますが、jar ではすぐに例外がスローされます。
jar を日食のように機能させるにはどうすればよいですか?
jar 内では、ファイルはもはや物理ファイルではないため、Stream として読み取る必要がある場合があります。
getClassLoader().getResourceAsStream("settings/settings.ini");
settings.ini が指定されたパスのクラスパス (ランタイム) の下にあることを考慮して
ini ファイルが jar アーカイブにある場合は、次のように読みます。
inputstream = getClass()
.getClassLoader()
.getResourceAsStream("settings/settings.ini");
jar アーカイブの外にある場合は、ini ファイルを./settings/settings.ini (アプリケーションの現在の作業ディレクトリに対して) に移動またはコピーする必要があります。