将Java虚拟机的一部分捆绑到项目中

时间:2014-01-05 03:26:51

标签: java jvm

是否可以编写可以在没有安装Java的情况下运行的Java程序?我知道这是一个愚蠢的问题,但我问的原因是因为我想创建一个Java程序,其中包含捆绑在其中的Java虚拟机部分,以消除它对需要的依赖性。安装Java的计算机。这是可能的,如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:3)

这取决于你的意思:

  • 可以为Java应用程序编写应用程序安装程序,该应用程序也将安装嵌入式JRE。需要注意的是,Oracle Java二进制许可证不允许您嵌入部分 JRE。它是整个JRE ......或者什么也没有。

  • 在某些情况下,可以将Java编译为可在没有安装Oracle JRE的情况下执行的本机代码。

然而,这两种方法都存在严重的(IMO)缺点。

  • 嵌入式JRE方法可能导致用户计算机上JRE安装的激增,以及及时应用Java安全补丁的问题。

  • 使用编译到本机代码方法可以做什么有严重的限制。例如,GCJ编译器/运行时仅支持Java 1.4,增加了1.5个......

总而言之,最好要求用户从信誉良好的来源下载最新的JRE并将其安装在标准位置。请注意,除了最具技术性的用户之外,这是一个简单的过程,前提是他们拥有管理员权限。 (如果他们不这样做,他们也无法安装你的软件......)