如何打包Java桌面应用程序?
我正在研究一个简单的桌面java应用程序。 我想尽可能无缝地为最终用户安装。 例如,类似于Minecraft的分布方式 – OS X的简单可执行文件和Windows的EXE文件。
我应该使用什么工具?
啊哈! 我也有这个问题。 Java应用程序的用户必须安装JRE才能运行它。
您可以告诉他们首先安装Java,或者像处理一样在您的应用程序中分发JRE 。
但请注意,如果包含JRE,则打包的程序会很重。 而且,如果您想这样做,用户将需要为他们的平台下载适当的包。
可执行的Java Wrappers
它们将您的Java应用程序作为输入并将它们包装在可执行文件中(对于指定的平台)。 您可以根据需要自定义它们; 如果用户未安装Java,则会打开下载页面。
一些例子是Launch4J , JSmooth和Jar2EXE 。
安装程序
它们是独立的应用程序,配置为将应用程序文件复制到用户的计算机,并(可选)创建快捷方式。
有些安装程序是用Java编写的,所以它们是多平台的。 在这种情况下,安装程序是.jar
。
其他一些是依赖于平台的,但您的优势在于您不需要包装它们。
Java安装程序: IzPack , Packlet , PackJacket , Antigen ,…
Java Web Start
它是一种Javafunction,允许用户轻松运行您的应用程序。 你给他们一个.jnpl
文件,
他们打开它,Java下载最新版本的应用程序并运行它。 没有包装麻烦!
请在此处查看完整的资源列表。
Java Web Start我认为是您正在寻找的选项……
跨平台应用程序的最佳安装。 使用GUI可以在Java Web Start中找到。 部分引用链接文档:
JWS提供了许多吸引人的function,包括但不限于启动画面, 桌面集成,文件关联,自动更新等。
其他事项
.. OS特定的启动软件的方式。
将快捷方式(带图标)添加到桌面或启动/程序菜单(桌面集成)就像您可以获得的平台一样。
..将在没有Java的情况下运行,并提供安装JRE(如果当前不存在)
使用deployJava.js
,链接在“另请参阅:”下的第二个最后一个列表项中。
如果JWS集成并且看起来像本机程序,那么每个操作系统不需要单独的程序包。
使用原生PLAF将是一个良好的开端。
有许多选项 – Java Web Start,第三方安装程序等。
请查看http://mindprod.com/jgloss/installer.html以获取解释。
我想你正在寻找IzPak 。 甚至还有一个名为PackJacket的GUI