我有一个使用嵌入式Tomcat的Web应用程序,我将其作为桌面应用程序分发。由于我不希望用户处理JRE的安装,我决定将JRE捆绑在我的安装包中,但是,我想知道是否有一个简化版本的JRE,以便安装文件的大小更小。例如,我从JRE中删除了所有与CORBA相关的文件,一切似乎都运行正常,所以我猜其他一些文件可以在不影响Tomcat功能的情况下删除,但我真的不知道应删除哪些其他文件。
如果有人以前这样做过,我会很感激您的意见。
答案 0 :(得分:2)
AFAIK,没有任何官方削减的Oracle JRE版本。当然不是免费的,但我想Oracle会为愿意支付(足够)的客户创建一个。
如果您基于Oracle JRE创建并分发了一个简化的JRE,那么它将违反Java二进制许可证......这明确禁止此类内容。您需要获得Oracle的许可才能执行此操作。这同样适用于其他供应商,因此您根据OpenJDK找到免费减少JRE的可能性“非常小”。
我不确定从OpenJDK开源代码库开始构建简化JRE的法律限制。我怀疑从版权的角度来看它是合法的,但你需要了解专利和商标问题。 (例如,一个简化的JRE不会通过Java Standard Edition TCK测试,因此不允许您使用Java和JRE等商标术语来描述它。)
如果您打算为其他任何人建立和分发减少的JRE,您应该与律师交谈。
据我所知,Azul将削减的JRE作为商业(非免费)产品分发。 Google为我找到了this:
为什么我们不删除Zulu JDK内容的简短答案是符合Java Standard Edition TCK测试。在事实之后改变测试版本的内容通常被认为是TCK覆盖的无效,并且我们不能在没有该版权/专利/商标保护伞的情况下发布。其次,Azul提供减少JRE和Compact Profile二进制版本作为商业(非免费)产品。我们仍然需要一些方法来通过Zulu货币化(否则业务不能自我维持),因此收取费用并仅提供私人访问权限和精益权利。平均生产运行时间是我们业务模式的核心。