如何为您的Java应用程序创build本机二进制文件?

我想知道如何将Java应用程序打包到Windows,Linux和Mac OS X的本机二进制文件中。

我知道“我的世界”这样做,但我不知道如何。 这是我想做的事情:

  • 从NetBeans(最好)或Eclipse,自动构build三个二进制文件。
  • 包含OpenGL等的本地库。 所有。
  • 如果可能的话,模糊我的代码。

如果有一些方法来模仿Minecraft的自动更新function,那就太棒了。

那么,是否有任何工具可以为您做这个工作,还是我需要编写大量的XML来完成这个工作?

要为Windows创建本机二进制文件,您可以使用Launch4J之类的工具。 在OSX上,你可以使用JarBundler 。 Minecraft只是发布Linux的jar文件。 我不知道Linux的本地二进制包装器。

您也可以通过GCJ编译您的Java代码,但这可能不是您想要的,因为那里存在限制和兼容性问题。 像Launch4j和JarBundler这样的本地捆绑器只是简单地包装你的jar文件,并使用真正的JRE来执行它。

至于与NetBeans或Eclipse集成,您可能必须编写自己的ant构建文件,尤其是因为解决方案因平台而异。

看看Eclipse的GCJBuilder插件 。 不知道它是否支持GCJ编译器所做的交叉编译。

如果应用程序。 有一个GUI,可以从一个网站分发,看看Java Web Start 。 JWS由Oracle提供,并提供许多其他功能之间的自动更新。

请注意,JWS使用Jar文件,因此不需要转换。

我过去曾经使用过JSMooth: http ://jsmooth.sourceforge.net/正如前面提到的,这个包装只是寻找一个真正的JRE来运行它 – 它并没有捆绑JRE。