[英]Resource file location in runnable jar
我有一個Maven項目,在dir src/main/resources
下有資源文件。 我注意到在Eclipse中,當我運行項目時,源文件被復制到target/classes
而沒有資源目錄,只是資源目錄下的文件。
但是,通過使用Right clieck on the project -> Jar -> Runnable Jar
導出到可運行的jar之后,這些資源文件位於資源目錄下:
如您所見,在兩種情況下,資源文件位於不同的位置。
及以下代碼在Eclipse中運行良好,但在可運行的jar中不起作用
getClassLoader().getResourceAsStream("database.properties")
如何解決這個問題呢? 我希望以上代碼在兩種情況下都能正常工作。
不幸的是,這是兩個不同的構建過程,大多數項目將使用一個構建系統。 付出很多努力卻沒有帶來很多好處。 您也可以從eclipse啟動mvn package
。 我會推薦Maven,因為它是一個標准。 如果必須這樣做,這里有一些想法
/resources
存在,並為所有路徑添加前綴 答案很簡單-在類似情況下不要相信Eclipse或任何IDE。 僅考慮將在單獨環境中運行的單獨構建。 使用嵌入在IDE應用程序或Web服務器中的測試也是如此-這是大量潛在問題的根源
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.