[英]How to load resource file in Java?
我具有以下源代碼結構:
src
resources
config.properties
data.txt
我將這些文件復制到我的jar中,而沒有變平。 所以這個jar包含resources/config.properties
和resources/data.txt
config.properties在本地運行(Eclipse:運行方式|運行配置)並執行jar時運行良好。
private static final String CONFIGURATION_FILE_PATH = "resources/config.properties";
resourceInputStream = classLoader.getResourceAsStream(CONFIGURATION_FILE_PATH);
configurationProperties.load(resourceInputStream);
data.txt文件在本地工作(Eclipse:運行方式|運行配置),但是在執行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。
這是執行問題嗎?
我從詹金斯jar /build/myapp.jar
調用了jar。 我應該為此執行設置類路徑嗎? 我的意思是-cp
開關..?
打開其他加載選項
如上所述, config.properties
加載良好。 我不需要我的data.txt
來加載getResource
。 我願意接受其他方法。 只要我可以從中獲取File
。
對於Java資源,必須以斜杠開始資源名稱,以使其絕對或相對於Jar層次結構的頂部。
不以斜杠開頭的資源名稱是相對於加載它們的類的當前位置(包名稱/目錄)的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.