由于最近甲骨文的Java SE支持路线图策略更新(从Oracle 2019年3月尤其是后无$版本更新结束),我一直在寻找替代甲骨文的Java。我发现了OpenJDK是一个开放源代码的替代品。我发现AdoptOpenJDK,这是一个预建的二进制。这难题。
是什么的OpenJDK和AdoptOpenJDK之间的区别?
简而言之:
说明:
预建的OpenJDK(或分布) -二进制文件,从建http://hg.openjdk.java.net/,作为存档或安装程序,为各种平台提供的,有可能支持合同提供。
OpenJDK的,源代码库(也称为OpenJDK项目) -是一种水银为基础的开放源码库,在托管 http://hg.openjdk.java.net。Java源代码。绝大多数的Java功能(从VM和核心库的编译器)仅仅基于此源代码库。甲骨文有这方面的一个备选叉。
OpenJDK的,分布(见下提供商列表) -是免费的啤酒和一种免费的语音,但是,你不要打电话给甲骨文,如果您有与它的问题。有没有支持合同。此外,如果该版本是最新的Java版本,包括LTS(长期支持)版本的Oracle将仅发布更新任何的OpenJDK(分配)的版本。当天Oracle发布OpenJDK的(分配)12.0版本,即使有一个安全性问题的OpenJDK(分配)11.0版中,Oracle不得为11.0发布的更新。仅由Oracle维护。
有些OpenJDK项目-如OpenJDK的8和OpenJDK的11 -由OpenJDK的社区维护,并提供一些OpenJDK的版本,一些平台版本。社区成员已经采取责任为释放这些OpenJDK的版本中的安全漏洞的修复程序。
AdoptOpenJDK,分布 -非常相似,Oracle的OpenJDK的分布(因为它是免费的,它是由编译与OpenJDK的源代码库的源产生的生成)。AdoptOpenJDK作为一个实体将不被向后移植补丁,即不会有一个AdoptOpenJDK“叉/版本”是从上游实质性不同(除一些构建脚本补丁等的Win32支撑的东西)。这意味着,如果社区(Oracle或其他人,而不是AdoptOpenJDK作为一个实体)反向移植安全修复OpenJDK的LTS版本的更新的成员,然后AdoptOpenJDK将提供建立这些。通过OpenJDK的社区维护。
也有OracleJDK -另一种分布,JDK12开始会有这个没有免费的版本。Oracle的JDK分布产品用于商业支持。你为此付出代价,但你能去成依靠甲骨文的支持。不像Oracle的OpenJDK的祭,OracleJDK发行不来与LTS版本不再支持。作为一个开发者,你可以得到个人/开发只用这种特殊的JDK的免费许可,但是这主要是一个红色的鲱鱼,因为“只是二进制”基本上是一样的OpenJDK的二进制文件。我想这意味着你可以从Oracle的网站LTS的JDK的安全补丁版本,只要你答应不以商业目的使用它们。
注。它也许最好致电建立的OpenJDK甲骨文中,“甲骨文OpenJDK的构建”。
唐纳德·史密斯,在甲骨文的Java产品经理写道:
理想情况下,我们会简单地指所有Oracle JDK建立的“甲骨文JDK,”无论是GPL或根据您的情况的商业许可证。然而,由于历史原因而存在的小尚存分歧,我们将把它们分别为Oracle的OpenJDK的构建,以及Oracle JDK。
-------------------------------------------------- -------------------------------------- | 供应商| 免费构建| 免费二进制| 扩展| 商业| 许可| | | 从源代码| 分布| 更新| 支持| 许可证| | ------------------------------------------------- ------------------------------------- | | AdoptOpenJDK | 是| 是| 是| 无| 是| | 亚马逊- Corretto | 是| 是| 是| 无| 是| | 阿祖尔祖鲁| 无| 是| 是| 是| 是| | BellSoft利比里卡| 无| 是| 是| 是| 是| | IBM | 无| 无| 是| 是| 是| | jClarity | 无| 无| 是| 是| 是| | OpenJDK的| 是| 是| 是| 无| 是| | 甲骨文JDK | 无| 是| 没有** | 是| 无| | 甲骨文的OpenJDK | 是| 是| 无| 无| 是| | ojdkbuild | 是| 是| 无| 无| 是| | 红帽| 是| 是| 是| 是| 是| | SapMachine | 是| 是| 是| 是| 是| -------------------------------------------------- --------------------------------------
免费从源代码构建 -分发源代码是公开的,一个可以组装自己的构建
免费二进制分发 -分发二进制文件公开下载和使用
扩展更新 -又名LTS(长期支持) -公用更新超过6个月的生命周期释放
商业支持 -一些供应商提供给付费用户扩展升级和客户支持,如Oracle JDK(支持详细信息)
许可许可 -分布许可非保护性,例如Apache 2.0的
在Sun / Oracle的天,通常是太阳/ Oracle的制造基于OpenJDK源的专有下游JDK分布。近日,甲骨文已经决定做自己的专有的建立只是附带的商业支持。他们慷慨地发布OpenJDK的构建以及对他们的https://jdk.java.net/网站。
正在发生的事情开始JDK 11是从单一供应商(Oracle)的心态,你选择一个供应商,为您提供针对该产品的分布心态的转变,你喜欢的条件下:平台他们构建发布,频率/敏捷,支持结构如何,等等。如果你不相信任何现有的供应商,你甚至可以自己建立的OpenJDK。
的OpenJDK的每个构建通常是从相同的原始上游源储存库(OpenJDK的“项目”)制成。然而,每个版本是相当独特 - $免费或商业,品牌或无品牌的,纯的或捆绑的(例如,BellSoft利比里卡JDK提供捆绑的JavaFX,这是从Oracle取出构建起JDK 11)。
如果没有环境(例如,Linux)和/或许可要求定义了特定的分配,如果你最想要的标准 JDK的构建,则可能是最好的选择是通过Oracle或AdoptOpenJDK使用OpenJDK的。
附加信息
时间超越Oracle的JDK由Stephen Colebourne对
Java的仍然是免费的在Java社区冠军(9月17日公布,2018)
Java的仍然是免费的2.0.0在Java社区冠军(于2019年3月3日出版)
阿列克谢Shipilev关于JDK更新由Opsian采访(发表于2019年6月27日)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句