如何将java程序转换为.exe文件?

vi4fp9gy  于 2021-07-09  发布在  Java
关注(0)|答案(14)|浏览(325)

如果我有java源文件(.java)或类文件(.class),如何将其转换为.exe文件?
我还需要为我的程序安装程序。

ttp71kqs

ttp71kqs1#

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

ojsjcaue

ojsjcaue2#

可以使用以下代码创建批处理文件:

start javaw -jar JarFile.jar

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

5jvtdoz2

5jvtdoz23#

启动4J

launch4j是一个跨平台的工具,用于 Package 轻量级windows本机可执行文件中作为jar分发的java应用程序。可执行文件可以配置为搜索某个jre版本或使用捆绑版本,还可以设置运行时选项,如初始/最大堆大小。 Package 器还通过一个应用程序图标、一个原生的pre-jre启动屏幕、一个自定义进程名和一个java下载页提供更好的用户体验,以防找不到合适的jre。
–启动4J的网站

deyfvvtc

deyfvvtc4#

我们正在使用install4j为windows或unix环境构建安装程序。
它可以很容易地定制,您可以为标准对话无法完成的特殊操作编写脚本。但即使我们用它来设置windows服务,我们也只使用标准组件。
安装程序+启动器
windows或unix
可在java中编写脚本
蚂蚁任务
许多可定制的标准面板和动作
可选地包括或下载jre
也可以启动windows服务
多种语言
我认为launch4j来自同一家公司(只是启动器-没有安装程序)。
ps:很遗憾,我没有得到这个代言的报酬。我就是喜欢那个工具。

lc8prwob

lc8prwob5#

如果您需要将整个应用程序转换为本机代码,即exe加DLL,则有excelsiorjet。我发现它工作得很好,并提供了一个替代捆绑jre的方法。
编辑:这是在2010年发布的-该产品不再可用。

s1ag04yj

s1ag04yj6#

最新的javawebstart已经得到了增强,允许良好的离线操作以及“本地安装”。这是值得研究的。
编辑2018:JavaWebStart不再与最新的jdk捆绑在一起。甲骨文正在推动一种“用封闭的jre在本地部署应用程序”的模式。

zaq34kh6

zaq34kh67#

伊姆霍杰斯穆思似乎做得相当不错。

jmo0nnb3

jmo0nnb38#

你可以用janel。最后一个作为应用程序启动程序或服务启动程序(可从4.x获得)。

k5ifujac

k5ifujac9#

更新:gcj死了。2016年正式从gcc项目中删除。甚至在那之前,它实际上已经被废弃了七年,而且无论如何,它还不足以作为一个可行的替代java实现。
去找另一个javaaot编译器。
gcj:gnu编译器可以将java源代码编译成本地机器代码,包括windows可执行文件。
尽管gcj并不支持java中的所有内容,尤其是gui组件(请参阅支持哪些javaapi?支持有多全面?常见问题解答中的问题)。我很少使用gcj,但从我对控制台应用程序所做的有限测试来看,它似乎还不错。
使用gcj创建独立可执行文件的一个缺点是,生成的exe的大小可能相当大。有一次,我在gcj中编译了一个普通的控制台应用程序,结果是一个大约1MB的可执行文件(也许有一些方法是我不知道的。另一种选择是可执行压缩程序。)
就开源安装程序而言,nullsoft可脚本化安装系统是一个可脚本化安装程序。如果您很好奇,这里有一些用户提供的示例,说明如何检测jre的存在,并在未安装所需jre的情况下自动安装它(只是想让你知道,我以前没用过nsis。)
有关使用nsis安装java应用程序的更多信息,请查看我对“分发java应用程序的最佳方式是什么”问题的回答

jum4pzuy

jum4pzuy10#

java项目作为jar可执行文件导出。当你想做一个java项目的.exe文件时,你能做的就是把jar“转换”成exe(我注意到我在引号之间加了convert,因为这不完全是这个)。
从intelij你只能生成jar
尝试以下示例:https://www.genuinecoder.com/convert-java-jar-to-exe/

k5ifujac

k5ifujac11#

我反对将java程序转换成.exe应用程序是可以原谅的,我有自己的理由。主要的一点是java程序可以从许多ide编译成jar文件。当程序是.jar格式时,它可以在多个平台上运行,而.exe只能在非常有限的环境中运行。我赞成java程序不应该被转换成exe的观点,除非这是非常必要的。当java程序是jar文件时,总是可以编写运行它的.bat文件。
如果真的有必要将其转换为exe,jar2exe converter会默默地执行此操作,还可以附加与主应用程序一起编译的库。

ekqde3dh

ekqde3dh12#

Java打包机

javapackager工具编译、打包和准备java和javafx应用程序以供分发。javapackager命令是命令行版本。
–oracle的文档
这个 javapackager 实用工具随jdk一起提供。它可以用 -native exe 国旗,还有很多其他的东西。

winrun4j

winrun4j是windows的java启动程序。它是javaw.exe的替代品,具有以下优点:
使用ini文件指定类路径、主类、vm参数和程序参数。
出现在任务管理器中的自定义可执行文件名。
额外的jvm参数可以更灵活地使用内存。
自定义图标的内置图标替换程序。
[更多要点如下]
–winrun4j的网页
winrun4j是一个开源实用程序。它有许多特点。

帕克

打包jar、资产和jvm,以便在windows、linux和macosx上分发,添加一个本机可执行文件,使其看起来像一个本机应用程序。packr最适合于gui应用程序。
–packr自述
packr是另一个开源工具。

J平滑

jsmooth是一个java可执行 Package 器。它为java应用程序创建本机windows启动程序(standard.exe)。它使java部署更加平滑和用户友好,因为它能够自己找到任何已安装的javavm。
–jsmooth网站
jsmooth是开源的,有很多特性,但是它非常古老。上一次发布是在2007年。

杰克斯帕克

jexepack是一个命令行工具(非常适合自动编写脚本),它允许您将java应用程序(类文件)及其资源(如gif/jpg/txt/etc)打包到一个压缩的32位windows exe中,该程序使用sun的java运行时环境运行。同时支持控制台和窗口应用程序。
–jexepack网站
jexepack是试用品。生产使用需要付款,使用此工具创建的exe文件将显示“提醒”而不付款。此外,上一次发布是在2013年。

安装在任何地方

installanywhere使开发人员可以轻松地为任何平台创建专业安装软件。使用installanywhere,您将快速适应行业变化,更快地进入市场,并提供引人入胜的客户体验。并在发布之前了解项目oss组件的漏洞。
–installanywhere网站
installanywhere是一个商业/企业软件包,它为基于java的程序生成安装程序。它可能能够创建.exe文件。

可执行jar文件

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

了解更多信息

关于这个主题的一个很好的信息来源是excelsior的文章“将java转换为exe–为什么、何时、何时以及如何”。
另请参阅配套文章“最佳jar到exe转换工具,免费和商业”。

q9yhzks0

q9yhzks013#

我想说launch4j是将java源代码(.java)转换为.exe文件的最佳工具,您甚至可以将jre捆绑在一起进行分发,甚至可以将exe图标化。虽然应用程序的大小增加了,但它确保了即使用户没有安装jre,应用程序也能完美地工作。它还确保您能够提供应用程序所需的特定jre,而无需用户单独安装。但不幸的是,java失去了它的重要性。它的多平台支持被完全忽略,最终的应用程序只支持windows。但如果你只是迎合windows用户的话,那也没什么大不了的。

yyyllmsg

yyyllmsg14#

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

相关问题