摘要
如果你需要在你的生产服务器上免费使用Java,你有两个选择。
#1 OpenJdk
OpenJDK是Java SE规范的开源参考实现,但它只是源代码https://github.com/openjdk
不同供应商为多个支持的平台提供二进制发行版。
其中一个是由Oracle维护的https://jdk.java.net/java-se-ri/19:
来源:https://whichjdk.com
#2 第三方定制的JDK
亚马逊 Corretto
Zulu
OTN许可证与BCL许可证
Oracle JDK 8(又称1.8版)不再使用BCL(二进制代码许可证)。从2019年4月16日起,Oracle JDK 8使用OTN(Oracle技术网络)许可证,您需要创建一个Oracle账户来下载JDK 8并支付费用!
BCL = Oracle二进制代码许可证
- 您可以使用它,但不能修改它
- 如果出现任何问题,您同意不起诉Oracle
- 您可以重新分发/发布它(以便您可以销售嵌入Java的产品),但如果这样做,您同意赔偿Oracle;因此,如果有人起诉您,您不能牵涉Oracle进来。
它实际上只是用来保护Oracle的知识产权,并在发现错误时保护他们免受诉讼的影响。
来源:https://www.quora.com/In-short-what-does-the-Oracle-Binary-Code-License-Agreement-for-Java-SE-actually-say-or-prohibit/answer/Jon-Harley
总结一下:免费但存在风险,且不承担任何责任
OTN = Oracle Technology Network License
总结一下:与BCL相反,只允许在您的笔记本电脑上进行开发,免费使用。对于企业来说,必须付费
OpenJDK和Oracle JDK
目前,OpenJDK和Oracle JDK都是由Oracle创建和维护的。
OpenJDK和Oracle JDK都是基于相同的Java规范通过TCK(Java技术认证套件)的实现。
大多数JDK供应商都是在OpenJDK的基础上进行了一些调整(主要是替换有许可的专有部分/替换为仅适用于特定操作系统的更高性能组件),以确保与TCK的兼容性。
源码:
Oracle JDK和OpenJDK之间的区别
免费官方选项
在这里,我将列出并保持更新官方链接,以便下载最常用的Java版本
Oracle Java 1.4、5、6和7(已弃用)
Oracle在Java 1.4、5、6和7的下载页面上没有显示任何与许可证变更相关的消息。因此,我们可以将它们用于开发和生产部署,但需要接受由于这些版本过于古老而带来的问题和安全隐患。
Oracle下载链接:
- [链接1](https://www.oracle.com/java/technologies/java-archive-javase-v14-downloads.html)
- [链接2](https://www.oracle.com/java/technologies/java-archive-javase5-downloads.html)
- [链接3](https://www.oracle.com/java/technologies/javase-java-archive-javase6-downloads.html)
- [链接4](https://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html)
旧版本7之前的遗留版本将不再提供更新。如果您的遗留系统仍在使用这些旧版本的Java,您可能需要联系销售部门寻求解决方案。
Oracle Java 8更新202版。
只有Java SE 8 JDK 8u202及更早版本是免费供开发和生产部署使用的。您可以从以下链接下载:
Openjdk 8(已弃用)
OpenJDK是ORACLE的一个倡议。更多详情请参见:https://adoptopenjdk.net/
压缩模式
您可以从这里下载最新的v8版本。最新版本:
点击这里使用curl下载
安装模式
apt-get install openjdk-8-jre (just run apps)
apt-get install openjdk-8-jdk (develop and run)
从
https://openjdk.java.net/install/开始
Openjdk 11
apt-get update
apt-get install openjdk-11-jdk
Openjdk 17
Openjdk 19
Openjdk 21
免受可信第三方的限制
Zulu社区(Java 6,7,8,11,13,14,15)
Amazon Corretto(Java 11)
Eclipse OpenJ9
更多第三方实现
以下实现按字母顺序排列,是开源且免费使用的:
- AdoptOpenJDK
- Azul Zulu
- Bck2Brwsr
- CACAO
- Codename One
- DoppioJVM
- GraalVM CE
- HaikuVM
- HotSpot
- Jamiga
- JamVM
- Jelatine JVM
- Jikes RVM (Jikes Research Virtual Machine)
- JVM.go
- leJOS
- Maxine
- Multi-OS Engine
- RopeVM
- uJVM
非免费选项
您需要为这些版本付费,但作为回报,您将获得由Oracle或其他第三方支持的许多功能。
Oracle Java
https://www.oracle.com/java/technologies/downloads/
Oracle Java 8 update 221
自2019年4月16日发布的Java 8更新版本8u221起,所有版本和更新(包括Java 8、9、10、11、14)仅适用于个人使用和开发目的,无需费用。任何其他用途都需要商业许可证。
来源:https://www.baeldung.com/oracle-jdk-vs-openjdk
专有实现
还有其他私有或商业实现:
- Azul Zing JVM
- CEE-J
- Excelsior JET (已停产)
- GraalVM EE
- Imsys AB
- JamaicaVM (aicas)
- JBlend (Aplix)
- MicroJvm (IS2T – Industrial Smart Software Technology)
- OJVM
- PTC Perc
- SAP JVM
- Waratek CloudVM for Java
来源:https://www.baeldung.com/oracle-jdk-vs-openjdk
注意事项
更多参考资料