2015-10-25 87 views
0

我想在Eclipse中導出一個java項目作爲可運行jar,但由於某種原因,runnable jar不起作用。如果我雙擊可執行的jar文件,它什麼也不做。我嘗試了提取和包需要庫到生成的jar。用Eclipse導出的Runnable jar不工作,在eclipse中它仍然可以工作

所以我也試圖導出一些簡單的項目,那些工作正常。最大的區別是我的真實項目有文件:圖像和XML文件。

在代碼中引用它們是這樣的:

File file = new File("Recources/test.xml"); 
ImageIcon imageIcon = new ImageIcon("Recources/" + num + ".gif"); 

項目的結構是這樣的:

enter image description here

但在可執行的JAR文件,就像這樣:

enter image description here

謝謝你的幫助。

編輯: 我已經嘗試了「Java的罐子filename.jar」,但現在它說,它無法找到我的資源文件夾,而在日食它仍然可以找到它。

+0

您是否嘗試過使用'java -jar .jar'從命令行運行jar? – AlexPogue

+0

如何確保它能夠自動打開而不必打開cmd? – Yadeses

+0

你能否提供一個日誌或類似的東西?沒有它,任何人都會猜測發生了什麼。我的猜測是,從開發環境與.jar文件運行時,資源文件位於不同的目錄中。 –

回答

1

JAR文件中的文件與存儲在硬盤中的文件不一樣。如果您將文件包含在JAR中,它們將被視爲字節流。所以你必須使用不同的方法來訪問這些資源。

//To read/access your XML-File 
BufferedReader read = new BufferedReader(new InputStreamReader(getClass().getResourceAsStream("/test.xml"))); 
//To read/access your gif-Files 
ImageIcon icon = new ImageIcon(this.getClass().getResource("/"+num+".gif")); 

「/」不是文件系統的根文件夾,而是JAR中資源的根文件夾。

0

問題可能在於Java不是運行jar的默認程序。

嘗試right click -> Open with,並選擇Java運行時,它應該運行成功。

使其成爲啓用雙擊運行的默認程序。

Right click -> Properties -> Change -> C:\Program Files\Java\jre7\bin\javaw.exe

https://stackoverflow.com/a/8511277

相關問題