如何使Java程序可安装?

| 如何使Java程序可安装? 我在Eclipse工作区中保存了一个应用程序。 我可以将其导出为“ 0”文件。 这是用于“现实世界”的应用程序。 如何导出为\“。exe \”文件或\“。dmg \”,以便可以将其安装在另一台计算机上? 由于Java与平台无关,因此我认为这是导出特定操作系统的问题。 我在Google上搜索了很多东西,读了很多不同的故事,所以我希望有经验的人来回答。
已邀请:
我猜您正在寻找的不仅是使程序可运行(如lobster1234所建议的),而且还应使其实际可安装。我们最近使用了IzPack。实际上看起来不错。这里和这里也有一些关于细节的不错的教程
Jar文件通常是可以使用的方法,因为JVM可以通过
java -jar <jarfile>
命令直接执行打包的文件。如果要从网站等分发应用程序,则Java WebStart是很好的选择。但是,即使有JVM,某些操作系统也没有安装该“功能”。另一个解决方案是至少使用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生成其自己的Installable。但是,在Windows上,它取决于Inno Setup 5或更高版本或WiX 3.0或更高版本。 https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1324980 生成自包含应用程序的最简单方法是修改部署任务。
<fx:deploy width=\"${javafx.run.width}\" height=\"${javafx.run.height}\"
             nativeBundles=\"all\"
             outdir=\"${basedir}/${dist.dir}\" outfile=\"${application.title}\">
      <fx:application name=\"${application.title}\" mainClass=\"${javafx.main.class}\"/>
      <fx:resources>
          <fx:fileset dir=\"${basedir}/${dist.dir}\" includes=\"*.jar\"/>
      </fx:resources>
      <fx:info title=\"${application.title}\" vendor=\"${application.vendor}\"/>
  </fx:deploy>
您可以使用Java WebStart,也可以将该程序打包为可执行的jar文件。
伙计们已经为您提供了很多选择,所以我不想再提及它们。唯一缺少的选择是当您确实需要安装程序时,这意味着执行一些逻辑,修改(或至少读取)系统配置,创建桌面快捷方式,复制许多文件,配置第三方产品(可能是已安装)等 在这种情况下,您可以使用InstallAnywere,EzPack或类似的解决方案(请参阅http://java-source.net/open-source/installer-generators) 例如,如果您的项目相对简单,我建议您使用AntInstaller。 顺便说一句,如果您担心客户的计算机上可能未安装JRE,则可以使用Launch4J打包您的代码(或更好的加载程序),该Launch4J从Java代码生成可执行文件。

要回复问题请先登录注册