我有標準的Maven項目結構:是在資源文件夾中打開文件/裏面的jar
-src
|
--main
|
---java
---resources
|
----file.txt
我需要閱讀應用程序啓動文件(閱讀DB模式和執行SQL腳本,所以這個文件是通過FileReader
打開)。當開發的應用,然後使用下面的代碼從project/target/classes/file.txt
得到它:
getClass().getResource("/file.txt").getFile()
該文件還出現在結果jar文件的根目錄。在應用程序啓動後,它不能被訪問,因爲它是在不在裏面的jar文件附近搜索的。
如何在jar /資源文件夾中訪問該文件?
當你使用了什麼事類加載器而不是類?當你刪除斜線時發生了什麼? –
當我刪除斜線 - NPE發生。如果我使用ClassLoader並刪除斜槓,則在'target/classes /'中搜索文件。 – Dragon
你確定你的資源目錄被包含在jar中嗎?如果是這樣,在哪裏? –