は、私は、次のソース構造を持っている:Javaでリソースファイルをロードするには?
src
resources
config.properties
data.txt
は私が平坦化せずに、私のジャーに、これらのファイルをコピーします。したがって、jarファイルにはresources/config.properties
とresources/data.txt
が含まれています。ローカル(Eclipse:Run Config | Run Configurations)で実行中にconfig.propertiesが正常に動作し、jarを実行しています。
private static final String CONFIGURATION_FILE_PATH = "resources/config.properties";
resourceInputStream = classLoader.getResourceAsStream(CONFIGURATION_FILE_PATH);
configurationProperties.load(resourceInputStream);
data.txtファイルはローカルで動作しますが(Eclipse:Run Config | Run as Run)、jarの実行時には見つかりません。私はFileオブジェクトを作成して、それを第三者のライブラリに渡す必要があります。
private static final String DATA_FILE_PATH = "resources/data.txt";
URL resourceUrl = classLoader.getResource(DATA_FILE_PATH);
File file = resourceUrl == null ? null : new File(resourceUrl.getPath());
jarを実行すると、file
はnullです。
実行問題ですか?
私はJenkins jar /build/myapp.jar
からjarファイルを呼び出しています。この実行のクラスパスを設定する必要がありますか?私は-cp
スイッチを意味する?他のロード・オプション
に
オープン上述したように、config.properties
負荷細かいです。 getResource
でロードするために私のdata.txt
は必要ありません。私は他の方法にもオープンです。私がそれからFile
を得ることができる限り。
スラッシュなどで始まります。 "/resources/data.txt" – markspace
私はそれを試みましたが、それはローカル実行に失敗します。これによって瓶が機能するようになっても、私はまだそれを局所的に働かせる必要があります。 – user6651485
「ローカルラン」についての詳細は、私のために必要になります。 – markspace