Oracle JDK 8的License详解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle JDK 8的License详解相关的知识,希望对你有一定的参考价值。

参考技术A

你还在使用Java 8么,使用的又是Oracle JDK 8么?

如果这两个答案的回答都是肯定的,那接下来我要说的就对你是非常有帮助的信息了。

其实直白点说就是以下两点:

上述两点,任意一点存在问题,那都意味着你都可能得做出改变以应对可能的风险。

Oracle在2019年4月的时候,对Oracle JDK的License做了一次变更。

后续,由于争议过大,Java SE 17及以后的JDK版本,又变更为Oracle No-Fee Terms and Conditions License协议了。

好吧,也许有点复杂,你会觉得非常绕。

简单点说,大致就是:

这样是不是比较容易理解了。

好,有什么影响?

这篇文章只讨论Java SE 8,不讨论Java SE 11及Java SE 17这两个LTS版本。因为相信国内还有相当一部分在使用Java SE 8.

对于使用Oracle Java SE 8的项目来说,通常有以下几种选择

如果你仍在使用Java SE 8u202或之前的版本,那可以放心的一点是,你不用担心需要为此付费的事情。你仍然可以免费使用这个版本。

但问题随之而来,你将不再获取到安全补丁更新了。

对于一个仍然需要继续开发与维护的项目来说,没有安全补丁更新是否是你能接受的一件事情,这是你做为技术负责人要慎重对待的一件事情。

如果你把安全看的非常重要,那选择付费来使用Java SE 8u211及之后的SE 8版本,是个不错的选择。

这仍然是个值得考虑的选择,因为对很多项目来说,相比更换其它JDK或升级至11,17等方案来说,也许付费是更廉价的方案。

还有没有其它选择?

当然还是有的,以下也是你可以考虑的选择之一。

上述的版权限制,都是针对Oracle JDK而言的,但JDK并不只有Oracle JDK,还有其它很多不同的JDK可供你选择。

比如,你一定知道的 OpenJDK ,它是一个完全开源免费的版本,你不需要为使用OpenJDK付费。

由于Oracle在19年4月的这个改变,在业界造成了很大的争议,许多团队已经迁移至使用OpenJDK了,OpenJDK的使用占比已经高于Oracle JDK了

其实,不只是OpenJDK,许多大公司基于OpenJDK都发行与维护着自己的JDK,列举一些如下:

等,这个列表其实可以很长。这些JDK发行版本都是由一些大公司基于OpenJDK构建的,也都是开源的,并且提供了一定的支持时间。

但很多Java程序员会疑问,OpenJDK与Oracle JDK究竟有什么区别,这些不同的OpenJDK发行版本是否可靠?

关于OpenJDK与Oracle JDK的区别,后续我单独再聊一下这个话题。

现在OpenJDK与Oracle JDK的代码几乎完全一样,所以可靠性是完全不用担心的,而显而易见的一个事实是,大公司自己都在用自己的发行版本,能不可靠?

如果你确实特别喜欢Oracle JDK,或只信任它。在不付费又想要有安全补丁的前提下,你仍然可以选择使用Oracle JDK 17.

Oracle JDK 17是基于Oracle No-Fee Terms and Conditions License协议,无论是个人或是商用,都可以无偿使用,只是有一定的时间限制。

Oracle宣称,这是在它们听到企业的期望之后做出的改变,因为大多数企业仍然期望使用Oracle JDK。

最后,说一下关于Java SE 8的问题。

做为一个架构师,你需要明白一点:

不使用Java SE 8,并不是一个你可以选择的事情,它只是一个时间问题

无论你有多少理由或困难在前,让你想继续使用Java SE 8,你要明白,Java SE 8终有告别的一天,它只是一个时间上的问题。

CentOS 安装 oracle jdk

到官网下载 oracle jdk : https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
jdk-8u271-linux-x64.tar.gz

1.下载oracle jdk

2.解压缩

sudo tar -zxvf jdk-8u261-linux-x64.tar.gz

3.重命名

sudo mv mv jdk1.8.0_261 jdk8

4.配置环境变量

  • 编辑配置文件
sudo vim /etc/profile
  • 添加环境变量
export JAVA_HOME=/program/java/jdk8 # jdk解压路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

5.重载配置文件

source /etc/profile

6.查看jdk版本

java -version

以上是关于Oracle JDK 8的License详解的主要内容,如果未能解决你的问题,请参考以下文章

db2替换激活永久lic

远程桌面连接时license错误解决方法

远程桌面连接时license错误解决方法

远程桌面连接时license错误解决方法

Matlab2017a汉化中出现的问题

Cadence 16.5在WIN7系统破解完后,运行Capture CIS提示license未找到!!!