當我在Eclipse中編譯和運行我的程序時,運行沒有異常。但是,當我將它導出到可運行jar或普通jar時,它找不到我的設置文件。.jar中的NoSuchFileException但不是在Eclipse中
我的路徑是:
String path= "src/settings/settings.ini";
在Eclipse運行沒有異常,但在一個罐子裏,它會立即拋出異常。
如何才能使jar正常工作,因爲它在eclipse中?
當我在Eclipse中編譯和運行我的程序時,運行沒有異常。但是,當我將它導出到可運行jar或普通jar時,它找不到我的設置文件。.jar中的NoSuchFileException但不是在Eclipse中
我的路徑是:
String path= "src/settings/settings.ini";
在Eclipse運行沒有異常,但在一個罐子裏,它會立即拋出異常。
如何才能使jar正常工作,因爲它在eclipse中?
,而裏面的jar文件是沒有更多的物理文件,所以你可能需要閱讀它作爲流
getClassLoader().getResourceAsStream("settings/settings.ini");
考慮的Settings.ini是在classpath中(運行時)在指定的路徑
我發現一個URL的getResource(String)對於訪問一個[嵌入資源]不僅更加可靠((InputStream)返回通常不可重定位),但鍵入時間也較短。 ;) –
謝謝!完美的作品! –
歡迎您:) –
如果ini文件位於jar歸檔,讀這樣的:
inputstream = getClass()
.getClassLoader()
.getResourceAsStream("settings/settings.ini");
否則,如果它位於你的JAR檔案之外,您應該移動或複製您的ini文件中./settings/settings.ini(相對於您的應用程序的當前工作目錄)。
檢查這個問題:http://stackoverflow.com/questions/12090882/trouble-turning-java-project-into-jar-file – phsym
*「它引發異常」*什麼例外?請始終複製/粘貼異常輸出(堆棧跟蹤)。 –