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

2020/10/22 23:11 · java ·  · 0评论

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

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

javapackager

Java Packager工具可编译,打包并准备Java和JavaFX应用程序以进行分发。javapackager命令是命令行版本。

– Oracle文档

javapackager实用程序随JDK一起提供。它可以生成带有该-native exe标志的.exe文件,等等。

WinRun4J

WinRun4j是Windows的Java启动器。它是javaw.exe的替代方法,具有以下优点:

  • 使用INI文件指定类路径,主类,vm args,程序args。
  • 显示在任务管理器中的自定义可执行文件名称。
  • 其他JVM arg用于更灵活的内存使用。
  • 自定义图标的内置图标替换器。
  • [后面有更多要点]

– WinRun4J的网页

WinRun4J是一个开源实用程序。它具有许多功能。

封隔器

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

– Packr自述文件

packr是另一个开源工具。

JSmooth

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

– JSmooth的网站

JSmooth是开源的,具有功能,但是它很旧。最新版本是2007年。

Jexe包

JexePack是一个命令行工具(非常适合自动编写脚本),使您可以将Java应用程序(类文件)及其资源(如GIF / JPG / TXT / etc)打包到单个压缩的32位Windows EXE中,它使用Sun的Java Runtime Environment运行。控制台和窗口应用程序均受支持。

– JexePack的网站

JexePack是试用软件。生产使用需要付款,并且使用此工具创建的exe文件将显示“提醒”而无需付款。此外,最新版本是2013年。

InstallAnywhere

InstallAnywhere使开发人员可以轻松地为任何平台创建专业的安装软件。借助InstallAnywhere,您将快速适应行业变化,更快进入市场并提供引人入胜的客户体验。在发货之前,请了解项目的OSS组件的漏洞。

– InstallAnywhere的网站

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

可执行的JAR文件

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


了解更多信息

Excelsior的文章“将Java转换为EXE-为什么,何时,何时不是以及如何是有关此主题的绝佳信息来源

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

Launch4j

Launch4j是一个跨平台工具,用于将以jar形式分发的Java应用程序包装在轻量级Windows本机可执行文件中。可执行文件可以配置为搜索某个JRE版本或使用捆绑的版本,并且可以设置运行时选项,例如初始/最大堆大小。如果找不到合适的JRE,则该包装程序还通过应用程序图标,本机JRE之前的初始屏幕,自定义进程名称和Java下载页面提供了更好的用户体验。

– Launch4j的网站

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

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

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

虽然在Java中不是一切都GCJ支持下,特别是在GUI组件(见
什么的Java API的支持?如何完全是支持?从这个问题FAQ)。我没有使用GCJ太多,但是从对控制台应用程序所做的有限测试来看,它似乎还不错。

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

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

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

您可以使用以下代码制作批处理文件:

start javaw -jar JarFile.jar

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

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

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

  • 安装程序+启动器
  • Windows或Unix
  • 用Java编写脚本
  • 蚂蚁任务
  • 许多可定制的标准面板和动作
  • (可选)包括或下载JRE
  • 也可以启动Windows服务
  • 多种语言

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

PS:可悲的是,我没有为此得到报酬。我只是喜欢那个工具。

最新的Java Web Start已得到增强,以允许良好的脱机操作以及“本地安装”。值得研究。

EDIT 2018:Java Web Start不再与最新的JDK捆绑在一起。Oracle正在推动“使用封闭的JRE在本地部署您的应用程序”模型。

如果您需要将整个应用程序转换为本地代码,即EXE和DLL,则可以使用ExcelsiorJET我发现它运作良好,并提供了捆绑JRE的替代方法。

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

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

您可以使用Janel最后一个用作应用程序启动器或服务启动器(从4.x开始可用)。

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

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

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

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

Java项目将导出为Jar可执行文件。当您想执行Java项目的.exe文件时,可以执行的操作是将JAR“转换”为EXE(我说我在引号之间加上了转换,因为不完全是这样)。

从intelij,您将只能生成jar

尝试遵循下一个示例:https : //www.genuinecoder.com/convert-java-jar-to-exe/

本文地址:http://java.askforanswer.com/ruhejiangjavachengxuzhuanhuanwei-exewenjianguanbi.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!