在没有安装JRE的Windows中将java程序作为exe运行

时间:2009-08-26 05:39:10

标签: java windows

我想在Windows中运行java程序作为exe。 Windows框根本不安装java ...

那么,有没有其他方法可以将java程序转换为exe,从而无需依赖JRE?

10 个答案:

答案 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)

GCJ可以从Java源文件创建本机代码。 Here's有关如何在Windows中构建它的教程。

答案 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 在文件夹内。

工作完成!!!