如何使Java程序可安装?

如何使java程序可以安装?

我在Eclipse工作区中保存了一个应用程序。

我可以将其导出为.jar文件。

这是一个“真实世界”的应用程序。

如何导出为“.exe”文件或“.dmg”以便可以将其安装在另一台计算机上?

由于Java是独立于平台的,我认为这是出口特定操作系统的问题。

我已经google了很多并且阅读了很多不同的故事,所以我更喜欢有经验的人的回答。

我想你要找的不仅是让程序可以运行(如建议使用lobster1234),而是让它实际可安装。 我们最近使用了IzPack 。 它实际上看起来不错。

这里和这里的细节也有一些不错的教程

Jar文件通常是要走的路,因为JVM可以通过java -jar 命令直接执行打包的文件。 如果您想从网站等分发您的应用程序,Java WebStart是很好的。但是,即使JVM存在,某些操作系统也没有安装该“function”。 另一个解决方案是至少有3个脚本来启动你的应用程序(Windows的批处理,Linux的shell脚本,以及Mac需要的任何东西 – 抱歉,没有Mac – )。

不要创建本机可执行文件(即Windows的exe),它们是多余的,因为你已经拥有了JVM。

我冒险在这里冒险,但我是游戏:)除非你已经知道存在JRE的平台(例如OS X),否则对你和/或最终用户来说将是一件麻烦事。 问题是java应用程序根本不是独立的,而是依赖于庞大的框架。

必须将JRE,Java Web Start或您使用的任何内容放在目标系统上。 你还必须有某种类型的发射器。 它可能像运行java的脚本一样简单,提供类路径等。如果java“编译”到.exe或其他东西,那就不需要了。但这就是它的工作原理。

这是我关闭将Java部署到最终用户计算机的原因之一。 这只是一个很麻烦的事情。 我曾经在一个项目中工作,我们实际上嵌入了安装程序部署的整个私有jre。 它不是很漂亮,但它完成了工作。

从Java 8开始,jdk现在能够为Windows,OSX和Linux生成自己的Installables。 但是,在Windows上,它取决于Inno Setup 5或更高版本或WiX 3.0或更高版本。

https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1324980

生成自包含应用程序的最简单方法是修改部署任务。

您可以使用Java WebStart ,或将程序打包为可执行jar文件。

伙计们已经给了你很多选择,所以我不想再提它们了。 这里缺少的唯一选择是当你真的需要安装程序时,意味着执行一些逻辑,修改(或至少读取)系统配置,创建桌面快捷方式,复制许多文件,配置第三方产品(可能是已安装)等

在这种情况下,您可以使用InstallAnywere,EzPack或类似的解决方案(请参阅http://java-source.net/open-source/installer-generators )例如,如果您的项目相对简单,我建议您使用AntInstaller。

顺便说一句,如果您担心您的客户可能没有在他的机器上安装JRE,您可以使用从您的Java代码生成可执行文件的Launch4J打包您的代码(或更好的加载器)。