将jvm与应用程序捆绑在一起

时间:2009-06-02 00:23:58

标签: java jvm bundle

如何捆绑剥离的JVM以仅运行我的应用程序?

我想删除JVM,以便将其包含在我的应用程序中。我知道exe包装器可以做到这一点,但我想知道的是怎么做?所以我可以编写脚本并为多个操作系统创建捆绑包而不仅仅是Windows。

3 个答案:

答案 0 :(得分:2)

尽管从技术角度来看可能会删除JRE发行版,但请仔细查看许可协议。对于Java 6,它声明:

[...] Sun授予你一个 非独家,不可转让,有限的许可证 提供复制和分发软件的费用 (i)您分发软件完整和 未经修改且仅作为一部分捆绑在一起 运行的目的,您的程序[...] {补充许可条款,(B)}

我这样读过:您只能分发完整(Sun)JRE 6(或JDK 6)。

答案 1 :(得分:2)

您可以大大 reduce the download size of java applications ,同时保持对许可的遵守。

答案 2 :(得分:-1)

对于绝大多数用户(也就是那些安装了Java运行时的用户),您不需要分发自己的自定义执行环境,实际上这样做违背了Java的"spirit"

Java代码旨在可在任何环境中运行,您可以通过创建executable .jar轻松地使用Java程序复制.exe的双击并运行行为。

这可能不是您正在寻找的答案,如果是这样,那么讨论授权剥离JVM的答案就是您所需要的。但是大多数Java开发人员都没有必要跳过这样的环节。只需分发您的Jars并让用户自己安装Java运行时。