OpenJDK 与 Oracle JDK
历史上的原因是,OpenJDK是JDK的开放原始码版本,以GPL(General Public License)协议的形式放出(题主提到的open就是指的开源)。在JDK7的时候,OpenJDK已经作为JDK7的主干开发,SUN JDK7是在OpenJDK7的基础上发布的,其大部分原始码都相同,只有少部分原始码被替换掉。使用JRL(JavaResearch License,Java研究授权协议)发布。至于OpenJDK6则更是有其复杂的一面,首先是OpenJDK6是JDK7的一个分支,并且尽量去除Java SE7的新特性,使其尽量的符合Java6的标准。
其中OpenJDK由于授权协议不同,所以CentOS等开源系统中软件源都是OpendJDK。而OpenJDK与Orcle JDK 主要不同的地方在于OpenJDK是精简的的JDK,部分代码不完整。所以为了在部署JAVA应用时,会重新安装Oracle JDK。
卸载CentOS 7 自带的JDK
可以通过下面的管道组合命令来查询当前系统已经安装好的Java版本
rpm -qa | grep java
然后通过 rpm 命令来进行卸载
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.45-9.3.x86_64
全部删除之后,再次使用之前的管道组合命令查询是否已经完全卸载
rpm -qa | grep java
JRE下载
然后去Oracle官网下载JRE,因为是服务器上使用,可以下载 Server JRE
下载完成之后,将下载好的 server-jre-8u152-linux-x64.tar.gz 复制到 /usr/local/java (也可以放到其他目录)
JRE解压及JRE配置
使用 tar 命令进行解压
tar -zxvf server-jre-8u152-linux-x64.tar.gz
解压完成后就可以删除JDK文件
rm -f server-jre-8u152-linux-x64.tar.gz
修改环境变量 /etc/profile 在文件尾部添加以下内容
export JAVA_HOME=/usr/local/java/jre1.8.0_152
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
保存之后,使用 source 命令来让系统更新环境变量
source /etc/profile
使用 java -version 来查看Java版本
java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b12, mixed mode)
没看懂,你Jre的目录怎么会找到jdk啊
code 2020-12-25 12:04
不好意思,已经修正了,因为我本地是安装的jdk,但是想记录一篇jre的安装文章,所以有地方忘记修改了。
yeskery 2021-02-21 10:59