2014-01-20 101 views
1

所以我的問題是我想將我的libgdx桌面項目導出爲可運行的.jar文件。我已經完成了這項工作,當我從桌面打開.jar文件時它工作正常。但是,如果將.jar文件放入我的Dropbox或除桌面之外的其他任何目錄中,則不再有效。 Gameframe開放爲0.2秒,保持黑色並立即關閉。如果我然後將.jar拉回到我的桌面,它工作正常。導出的runnable .jar使用libgdx的w/Eclipse文件

我以前見過其他人問過這個問題,但沒有一個答案幫我解決了我的問題。 如果您需要更多信息,請讓我知道!

回答

0

在eclipse中,請確保右鍵單擊整個項目並單擊導出。在庫處理中,點擊「將所需的庫打包到生成的JAR中」。然後點擊完成。如果這不起作用,請確保您的構建路徑包含所有內容。

我可以訪問.jar文件,所以我可以看看裏面缺少什麼嗎?

+0

嗨,我只是想出了什麼問題是使用cmd並從那裏打開.jar文件。顯然,錯誤是因爲我的遊戲無法訪問其中一個資產(這裏:「couldnt load file:img/moos.jpg」)。它在桌面上工作,因爲我有一個我的img /文件夾的備份文件夾。 我也用.rar閱讀器檢查過.jar文件,看到那裏確實有我的img /文件夾,裏面有所有必要的資產。 我不允許在我的資產文件夾中有子文件夾嗎?我在eclipse中創建它。 如果這沒有幫助,我可以爲你下載.jar文件,當然。 – user3217132

+0

編輯:修正它!錯誤是在源代碼中我加載了「image.jpg」,應該是「image.JPG」。不知道這樣的事情這麼重要......我也想知道爲什麼當我在Eclipe內部開始項目時沒有問題? – user3217132

+0

我不知道,這不應該發生。爲了在我的遊戲中導出我的資源,我創建了一個新的Source文件夾,我在其中放置了所有內容(如地圖,圖像,聲音),因此可以使用.jar自動導出。我確定我有更好的方法來做到這一點,但直到我找到它,我纔會在這一天工作。不要忘了編輯主帖子,告訴你找到了哪個答案,可能有其他人與你有同樣的問題。 – Ferdz

0

很有可能你在你的輸出目錄中有一些額外的庫,當你把你的jar放在保管箱中時會丟失這些庫。要確認這一點,請嘗試通過命令行啓動您的應用程序。然後,Java將打印一個帶有例外的堆棧跟蹤。例如:

Java的罐子yourjarinthisdirectory.jar

作爲一個方面說明我會建議在未來maven libgdx使用Maven。在這種情況下,你可以說「包」,maven生成完整的jar包含其中的所有庫,而無需進一步配置。

1

嘗試打開導出的JAR(例如)7-zip,然後添加'res'文件夾manualy。我不明白,爲什麼Eclipse沒有在其中放置'res'文件夾。但添加manualy爲我工作。