我希望在Windows上将一个Java程序作为.exe文件运行。该计算机没有安装Java...
那么,有没有其他方式可以将Java程序转换为.exe文件,从而避免对JRE的依赖?
您可以将JRE与应用程序一起发布,并使用该JRE来运行您的应用程序。其效果相同:应用程序将通过可执行文件(需要包装器)或脚本(批处理)文件启动,并且目标计算机不需要安装Java运行时。
Java并不需要被“安装”,它只需要存在即可。
我使用了JSmooth来将我的应用程序打包成exe文件。它还允许在内部嵌入JRE。我只是使用了“确保至少有Java X可用”的选项。
GPL,可以作为ant任务运行。
考虑到您正在Windows中请求可执行文件(exe),有另一种方法:
使用IKVM.NET - Bytecode Compiler,将Java字节码转换为.NET dll和exe。
在这里获取最新版本的IKVM.NET。
使用此命令:
ikvmc -target:exe -out:foo.exe yourJarFile.jar
创建你的.NET可执行文件。
此后,你可以使用必要的IKVM dll文件来使用你的exe,或者如果你想要一个单独的可执行文件,你可以使用ILMerge:
ILMerge.exe /target:winexe /targetplatform:"v4,C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1" /out:C:\foo\bar.exe foo.exe <IKVM dll's>.dll
launch4j
来创建 Windows 可执行文件包装器,然后使用 inno setup
创建安装程序。在为应用程序创建安装程序时,请将文件夹添加到 其他应用程序文件
下。确保 jre
在文件夹内。