是否可以在机器上运行可执行jar文件而不先安装java?

我可以在我的可执行jar文件中包含rt.jar并双击运行它而不先在机器上安装java吗? 我希望在我的jar子里使用那个rt.jar来启动它,可能吗? 如果没有,还有其他方式吗?

不,你需要一个java虚拟机。 rt.jar也由虚拟机解释,只是java类库。

如果你想要将代码本机化,你可以考虑gcj ,它可以将java代码转换为机器代码,并根据gcc将其包装在exe中。 但是,我不确定java gcj支持哪个版本 – 我已经读过它不是最近的某个地方了。

看起来Launch4j可以包含捆绑的JRE,因此您可以考虑这一点。

Java需要一个Java虚拟机(JVM / JRE,无论你想调用它)来运行java应用程序。 但是,我不太确定你需要安装Java,而只是存在。

可以在JAR旁边提供这个(使用批处理文件来运行JAR文件 – 因为如果没有安装它就不会有关联),但它会严重扩大项目的大小。

还有许可问题需要解决。

文件rt.jar包含Java类(以Java字节码的forms)。 为了解释这些类,您需要安装Java。