如果我有Java源文件(*.java)或类文件(*.class),如何将其转换为.exe文件?

我还需要一个安装程序。


当前回答

您可以使用jar2exe将jar转换为exe。但是你需要购买软件。如果你需要一个开源软件,我会建议JSmooth。

其他回答

Javapackager

Java Packager工具编译、打包和准备Java和JavaFX应用程序以供分发。javapackager命令是命令行版本。 - Oracle的文档

javapackager实用程序随JDK一起发布。它可以生成带有-native exe标志的.exe文件,还有许多其他功能。

WinRun4J

WinRun4j是windows的java启动器。它是javaw.exe的替代品,具有以下优点: 使用INI文件指定类路径、主类、虚拟机参数、程序参数。 出现在任务管理器中的自定义可执行名称。 额外的JVM参数用于更灵活的内存使用。 内置的图标替换自定义图标。 [后面还有更多要点] - WinRun4J的网页

WinRun4J是一个开源实用程序。它有很多特点。

packr

打包JAR、资产和JVM,以便在Windows、Linux和Mac OS X上分发,添加本机可执行文件,使其看起来像本机应用程序。Packr最适合GUI应用程序。 - packr README

Packr是另一个开源工具。

吉斯穆斯

JSmooth是一个Java可执行包装器。它为您的java应用程序创建本机Windows启动程序(标准的.exe)。它使java部署更加流畅和用户友好,因为它能够自己找到任何已安装的java VM。 - JSmooth网站

JSmooth是开源的,也有一些特性,但是它非常古老。上一次发布是在2007年。

JexePack

JexePack是一个命令行工具(非常适合自动编写脚本),允许您打包Java应用程序(类文件),可选地连同它的资源(如GIF/JPG/TXT/等),到一个压缩的32位Windows EXE,它使用Sun的Java运行时环境运行。控制台和窗口应用程序都受到支持。 - JexePack的网站

JexePack是试用软件。生产使用需要付费,使用此工具创建的exe文件将显示“提醒”而无需付费。而且,上一次发布是在2013年。

InstallAnywhere

InstallAnywhere使开发人员可以轻松地为任何平台创建专业的安装软件。使用InstallAnywhere,您将快速适应行业变化,更快地进入市场,并交付引人入胜的客户体验。并且在发布之前了解项目OSS组件的脆弱性。 - InstallAnywhere网站

InstallAnywhere是一个为基于java的程序生成安装程序的商业/企业包。它可能能够创建.exe文件。

可执行JAR文件

作为.exe文件的替代方案,您可以通过向JAR清单添加一个入口点来创建一个在双击时自动运行的JAR文件。


欲了解更多信息

Excelsior的文章“将Java转换为EXE -为什么,何时,何时不和如何”是关于这个主题的一个很好的信息来源。

另请参阅配套文章“最佳JAR到EXE转换工具,免费和商业”。

你可以用下面的代码创建一个批处理文件:

start javaw -jar JarFile.jar

并使用任何。bat到。exe转换器将。bat转换为。exe。

或者,您可以使用一些java-to-c转换器(例如JCGO),并将生成的C文件编译为目标平台的本机二进制(.exe)文件。

您可以使用jar2exe将jar转换为exe。但是你需要购买软件。如果你需要一个开源软件,我会建议JSmooth。

我们正在使用Install4J为windows或unix环境构建安装程序。

它很容易定制,直到您想要为标准对话框无法完成的特殊操作编写脚本。但是即使我们用它来设置windows服务,我们也只是使用标准组件。

安装程序+启动程序 Windows或Unix Java脚本 ant任务 大量可定制的标准面板和操作 可选地包括或下载JRE 还能启动Windows服务吗 多种语言

我认为Launch4J来自同一家公司(只有启动器-没有安装程序)。

PS:很遗憾我没有得到这个代言的报酬。我只是喜欢那个工具。