【问题标题】:is there a JRE reduced version for Tomcat only?是否有仅适用于 Tomcat 的 JRE 简化版本?
【发布时间】:2017-10-15 00:16:35
【问题描述】:

我有一个使用嵌入式 Tomcat 的 Web 应用程序,我将把它作为桌面应用程序分发。由于我不希望用户处理 JRE 的安装,因此我决定将 JRE 捆绑在我的安装包中,但是,我想知道是否存在 JRE 的简化版本以便具有更小的安装文件大小。例如,我从 JRE 中删除了所有与 CORBA 相关的文件,并且一切似乎都工作正常,所以我想可以删除一些其他文件而不影响 Tomcat 的功能,但我真的不知道应该删除哪些其他文件。

如果有人以前这样做过,我会很感激你的 cmets。

【问题讨论】:

  • 我对任何认为有嵌入式 Java 的人嗤之以鼻。
  • java9 中的新模块功能被吹捧为这样做排序。我还没有查看详细信息,但注意到许可证已更改为专门允许重新分发“由 jlink 生成的 [Java] 部分......仅供 [应用程序] 使用”。顺便说一句,我不明白为什么 Tomcat/web 应用程序不能合理地使用 CORBA; AWT JavaFX Nashorn OTOH ....
  • 非常感谢,我去看看java9。是的,Tomcat 可以使用所有这些 CORBA、AWT、JafaFX 等,但是,我的应用程序不使用任何这些库。

标签: java tomcat


【解决方案1】:

AFAIK,没有任何官方缩减的 Oracle JRE 版本。当然不是免费的,虽然我想甲骨文会为愿意支付(足够)的客户创建一个。

如果您创建并分发了基于 Oracle JRE 的精简 JRE,这将违反 Java Binary 许可证……它明确禁止此类事情。您需要获得 Oracle 的许可才能执行此操作。这同样适用于其他供应商,因此您找到基于 OpenJDK 的免费精简 JRE 的机会“微乎其微”。

我不确定从 OpenJDK 开源代码库开始构建精简 JRE 的法律限制。我怀疑从版权的角度来看这是合法的,但是您需要了解专利和商标问题。 (例如,一个精简的 JRE 不会通过 Java 标准版 TCK 测试,因此您将不能使用 Java 和 JRE 等商标术语来描述它。)

如果您打算构建缩减的 JRE 并将其分发给其他任何人,您应该与律师交谈。

我了解 Azul 将缩减的 JRE 作为商业(非免费)产品分发。谷歌为我找到了this

为什么我们不删除 Zulu JDK 的内容的简短答案是为了符合 Java 标准版 TCK 测试。事后更改测试版本的内容通常被认为是 TCK 覆盖范围的无效,并且我们无法在没有版权/专利/商标保护的情况下发货。其次,Azul 提供精简的 JRE 和 Compact Profile 二进制构建作为商业(非免费)产品。我们仍然需要某种方式将 Zulu 货币化(否则业务无法自我维持),因此收取费用并仅提供对一组精益和平均生产运行时的私人访问是我们业务模型的核心。

【讨论】:

  • 我没有分发它,我只是删除了运行 Tomcat 不需要的 2 个文件夹,我不知道它是“非法的”。我也没有修改任何代码。无论如何,我会对该主题进行更多研究,感谢您的评论。
  • 这不是非法的......除非你分发它。但是,如果您不打算分发它,我看不到创建精简 JRE 的意义。只是磁盘空间,磁盘空间便宜。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多