我想在Windows中运行java程序作为exe。 Windows框根本不安装java ...
那么,有没有其他方法可以将java程序转换为exe,从而无需依赖JRE?
答案 0 :(得分:9)
您可以将Excelsior JET编译器用于此目的。
有关详情,请参阅 http://www.excelsiorjet.com/。
答案 1 :(得分:6)
您可以随应用程序一起发送JRE,并将JRE用于您的应用程序。效果是一样的:应用程序将通过可执行文件(需要包装器)或脚本(批处理)文件启动,目标机器不需要安装Java运行库。
Java不必'已安装',它必须'present'。
答案 2 :(得分:2)
答案 3 :(得分:1)
要运行的应用程序,您将需要运行时。实际上,启动应用程序时发生的第一件事就是调用OS来启动JRE。你不能没有JRE。
[如果您愿意,您当然可以将JRE嵌入到您的应用中]。
答案 4 :(得分:1)
答案 5 :(得分:1)
我使用JSmooth来扩展我的应用程序。它还允许在内部嵌入JRE。我刚刚使用“确保至少Java X可用”。
GPL,可以作为蚂蚁任务运行。
答案 6 :(得分:1)
鉴于您在Windows中请求可执行文件(exe),还有另一种方法:
使用IKVM.NET - Bytecode Compiler将Java字节码转换为.NET dll和exe。
获取最新版本的IKVM.NET here。
使用此命令
ikvmc -target:exe -out:foo.exe yourJarFile.jar
创建.NET可执行文件。
在此之后,您可以将exe与强制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
答案 7 :(得分:1)
如果您使用的是 JDK 9 及更高版本,则可以使用 jlink
。它将包括所有必要的模块、头文件、安全策略文件等,并构建一个最小的运行时映像。此图像可以直接运送给客户。您可以指定自己的启动器,什么不能。
jlink
说明:
您可以使用 jlink
工具将一组模块及其依赖项组装和优化为自定义运行时映像。
在 oracle 文档中阅读更多内容:Java Platform, Standard Edition Tools Reference。
答案 8 :(得分:0)
您是否尝试过 install4j ?这个概念有各种版本,有些是免费的。基本上,此应用程序将您的应用程序编译为可执行的安装程序,特定于您选择的操作系统。
答案 9 :(得分:0)
完成此任务的最简单方法是使用 launch4j
作为 windows exe 包装器,然后使用 inno setup
创建安装程序。为应用程序创建安装程序时,请在 other application files
下添加文件夹。确保 jre
在文件夹内。
工作完成!!!