如何将Java程序转换为.exe文件? [关闭]

别等时光非礼了梦想. 提交于 2020-02-26 11:22:03
关闭。 这个问题是 题外话 。 它当前不接受答案。

想改善这个问题吗? 更新问题 ,使其成为Stack Overflow 的主题

6年前关闭。

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

我的程序也需要安装程序。


#1楼

我可以原谅我反对将Java程序转换为.exe应用程序,但我有我的理由。 主要的一个原因是,可以从许多IDE将Java程序编译为jar文件。 当程序为.jar格式时,它可以在多个平台上运行,而.exe则只能在非常有限的环境中运行。 我的想法是,除非非常必要,否则不要将Java程序转换为Exe。 当它是一个jar文件时,总是可以编写运行Java程序的.bat文件。

如果确实需要将其转换为exe,则Jar2Exe转换器会静默地执行此操作,并且还可以附加与主应用程序一起编译的库。


#2楼

我会说launch4j是将Java源代码(.java)转换为.exe文件的最佳工具。您甚至可以将jre与它捆绑在一起进行分发,甚至可以将exe图标化。 尽管应用程序的大小增加了,但是即使用户没有安装jre,它也可以确保应用程序正常运行。 它还可以确保您能够提供应用所需的特定jre,而无需用户单独安装。 但是不幸的是,java失去了它的重要性。 它的多平台支持被完全忽略,最终应用仅受Windows支持。 但这不是什么大问题,如果您只针对Windows用户。


#3楼

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


#4楼

恕我直言JSmooth似乎做得很好。


#5楼

更新: GCJ已死。 它于2016年正式从GCC项目中删除 。甚至在此之前,它实际上已经废弃了7年,并且在任何情况下,它都还不够完善,无法用作可行的Java替代实现。

去寻找另一个Java AOT编译器。

GCJ:适用于Java的GNU编译器可以将Java源代码编译成本机代码,包括Windows可执行文件。

尽管GCJ并不支持Java中的所有功能,尤其是GUI组件(请参阅FAQ中的 Java Java API支持?支持的完整性如何? )。 我没有使用GCJ太多,但是从我对控制台应用程序所做的有限测试来看,它似乎还不错。

使用GCJ创建独立可执行文件的一个缺点是生成的EXE的大小可能会很大。 一次,我在GCJ中编译了一个简单的控制台应用程序,结果得到了大约1 MB的可执行文件。 (可能有一些我不知道的解决方法。另一种选择是可执行压缩程序。)

就开源安装程序而言, Nullsoft脚本安装系统是可脚本安装的安装程序。 如果您好奇,可以找到一些用户贡献的示例 ,这些示例介绍了如何检测JRE的存在并在未安装所需的JRE的情况下自动安装它。 (只是让您知道,我以前没有使用过NSIS。)

有关使用NSIS安装Java应用程序的更多信息,请查看我对以下问题的回答:“ 分发Java应用程序的最佳方法是什么?

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!