如果我有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应用程序的最佳方法是什么? ”
来源:oschina
链接:https://my.oschina.net/stackoom/blog/3159603