2015-05-08 17 views
4

我已經用Eclipse開發了一個Java應用程序。我也出口了.jar格式。它工作得很好,但有一些問題;如何使用圖標和本機擴展在Eclipse下導出.jar

  1. 的圖標是JVM的一個,並且不能被修改
  2. 如果PC在應用程序運行時,它不會讓Java SDK,應用程序無法啓動。
  3. 在某些情況下,例如Linux,如果用戶選擇框授權,應用程序將不會啓動。

所以在最後,我要變換的.jar文件,到了其他操作系統的本機格式,如.exe.app.deb與特定的圖標。我怎樣才能做到這一點 ?

+0

注意,轉換程序的EXE/DEB的/ etc並不能解決這些問題。它會讓你能夠選擇一個圖標,但是你仍然需要你的程序有權限在Linux上運行,並且你需要JDK/JRE才能啓動程序。如果你用java編寫程序,必須安裝java才能運行它。製作exe或deb **不會**將程序轉換爲本地程序。它只是將jar包裝在exe/deb文件中,在運行時解壓縮並由JVM運行。 – BackSlash

+0

請檢查http://launch4j.sourceforge.net/注意:您不能將文件「轉換」爲本機格式。你只是把它們包起來。該exe文件將運行JRE。 – farukdgn

+0

不要。你所要做的就是你的應用程序不再是平臺獨立的。 – Stultuske

回答

4

1)的圖標是JVM的一個,不能修改
2)如果電腦在那裏 應用程序運行時,它不會讓Java SDK,應用 無法啓動。

有一種方法可以將JRE嵌入到可執行文件中。通過這種方式,您可以爲目標系統創建本機構建,這將使1)允許您更改圖標2)使應用程序在未安裝JavaVM的PC上運行。

我建議使用禽流感這是免費的: http://oss.readytalk.com/avian/

而且你可能有興趣在這個線程: Embed a JRE in a Windows executable?

+0

謝謝!與Avian合作似乎並不那麼容易。還有其他解決方案嗎? –

+0

有幾個,但都有一些優點和缺點。我知道的一些工具是:GNU gcj(已經死了),Excelsior JET(非常昂貴)。還有用於罐子的包裝,afaik他們仍然需要安裝JVM。 Google for:launch4j和/或JSmooth。無論你決定使用什麼工具,你在做什麼都很難,可能會很難。 – Praeterii