簡體   English   中英

用eclipse導出的可運行jar不起作用,在eclipse中它仍然有效

[英]Runnable jar exported with eclipse isn't working, in eclipse it still works

我正在嘗試將eclipse中的Java項目導出為可運行的jar,但是由於某種原因,可運行的jar不起作用。 如果我雙擊可執行jar,它不會執行任何操作。 我嘗試了提取和打包所需的庫到生成的jar中。

因此,我還嘗試導出一些更簡單的項目,但效果很好。 最大的不同是我的真實項目中有文件:圖像和xml文件。

在代碼中像這樣引用它們:

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

該項目的結構如下所示:

在此處輸入圖片說明

但是在可執行jar中,它們看起來像這樣:

在此處輸入圖片說明

謝謝您的幫助。

編輯:我已經嘗試了'java -jar filename.jar',但是現在它說它找不到我的資源文件夾,而在eclipse中它仍然可以找到它。

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中資源的根文件夾。

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

嘗試right click -> Open with ,然后選擇Java運行時,它將成功運行。

使其成為啟用雙擊運行的默認程序。

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

受Stratwine在https://stackoverflow.com/a/8511277上的回答的啟發

因此,謝謝大家,但是問題似乎不僅僅在於出口。 使用cmd打開程序時出現錯誤,我使用文件名打開xml和圖像,而我應該使用inputStreams: https : //docs.oracle.com/javase/tutorial/networking/urls/readingURL .html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM