我可以在我的可执行jar文件中包含rt.jar并双击运行它而不先在机器上安装java吗?我希望在我的罐子里使用那个rt.jar来启动它,可能吗?如果没有,还有其他方式吗?
答案 0 :(得分:6)
不,你需要一个java虚拟机。 rt.jar
也由虚拟机解释,只是java类库。
如果您希望将代码本机化,您可以考虑gcj,它可以将Java代码转换为机器代码,并根据gcc将其包装在exe中。但是,我不确定java gcj支持哪个版本 - 我已经读过它不是最近的版本。
看起来Launch4j可以包含捆绑的JRE,因此您可以考虑这一点。
答案 1 :(得分:2)
Java需要一个Java虚拟机(JVM / JRE,无论你想调用它)来运行java应用程序。但是,我不太确定你需要安装Java,而只是存在它。
你可以在你的JAR旁边提供这个(用一个批处理文件来运行JAR文件 - 因为如果没有安装它就没有关联)但它会严重扩大你的项目的大小
还有许可问题需要解决。
答案 2 :(得分:0)
文件rt.jar
中包含Java类(以Java字节码的形式)。为了解释这些类,您需要安装Java。