我有以下來源結構:如何在Java中加載資源文件?
src
resources
config.properties
data.txt
我將這些文件複製到我的罐子,無需壓縮。所以jar包含resources/config.properties
和resources/data.txt
在本地運行(Eclipse:Run as | Run Configurations)並執行jar時,config.properties可以正常工作。
private static final String CONFIGURATION_FILE_PATH = "resources/config.properties";
resourceInputStream = classLoader.getResourceAsStream(CONFIGURATION_FILE_PATH);
configurationProperties.load(resourceInputStream);
data.txt文件本地工作(Eclipse的:作爲運行|運行配置),但在執行時,罐子找不到。我確實需要創建的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
爲空。
這是執行問題嗎?
我打電話給Jenkins的罐子jar /build/myapp.jar
。我應該爲此執行設置類路徑嗎?我的意思是-cp
切換..?
打開到其他負載選項
如以上所提到的,config.properties
加載罰款。我不需要我的data.txt
加載getResource
。我接受其他方法。只要我能從中得到File
。
從斜線開始例如「/resources/data.txt」 – markspace
我試過了,但是本地運行失敗。即使這會使罐子工作,我仍然需要它在本地工作。 – user6651485
我們需要更多關於「本地運行」的信息,因爲它適合我。 – markspace