2011-05-03 151 views
7

我想知道如何將Java應用程序打包成適用於Windows,Linux和Mac OS X的本機二進制文件。如何爲Java應用程序創建本機二進制文件?

我知道我的世界會這樣做,但我無法弄清楚如何。這是我想要做的:

  • 從NetBeans(最好)或Eclipse,自動構建三個二進制文件。
  • 包含OpenGL等的本地庫。所有。
  • 如果可能的話,模糊我的代碼。

如果有一些方法來模仿Minecraft的自動更新功能,那就太棒了。

那麼,是否有任何工具可以爲您做這件事,還是我需要編寫大量的XML來完成這個工作?

+0

你只是想將你的* .jar *封裝在一個二進制文件中,就像* launch4J *所做的那樣,或者你想要一個像* Excelsior JET *這樣的'* AOT編譯器'*真的*生成一個自給自足的二進制文件, ,因此,不需要JRE來運行了? (順便說一句關於混淆,我使用* Proguard *,它不能傷害) – SyntaxT3rr0r 2011-05-03 14:37:54

+0

可能重複[編譯爲本地代碼的Java?](http://stackoverflow.com/questions/16360691/compiling-java-into-native-code) – 2015-08-03 21:34:41

+0

您可以使用[Robovm](https://github.com/robovm/robovm),但它只適用於Linux應用程序。使用Windows的Windows子系統,你只會錯過OSX的支持。 – 2016-05-12 15:50:01

回答

5

要爲Windows生成本機二進制文件,您需要使用諸如Launch4J之類的工具。在OSX上,您可以使用JarBundler。 Minecraft只是爲Linux發佈jar文件。我不知道Linux的本地二進制包裝器。

您也可以通過GCJ編譯您的Java代碼,但這可能不是您想要的,因爲那裏存在限制和兼容性問題。像Launch4j和JarBundler這樣的本地捆綁軟件只是簡單地包裝你的jar文件並使用真正的JRE來執行它。

對於與NetBeans或Eclipse集成,您可能必須編寫自己的ant構建文件,尤其是因爲解決方案因平臺而異。

0

如果應用程序。有一個圖形用戶界面,可以從網站分發,看看Java Web Start。 JWS由Oracle提供,並提供許多其他功能之間的自動更新。

請注意,JWS使用Jar文件,因此不需要轉換。

0

我在過去曾使用過JSMooth:http://jsmooth.sourceforge.net/ 正如前面提到的,這個包裝只是尋找一個真正的JRE來運行它 - 它沒有捆綁JRE。

相關問題