centos7更换和升级JDK版本

本文介绍了如何在CentOS7系统中卸载旧版本的JDK,然后安装和升级到JDK1.8。主要步骤包括使用yum查询JDK版本,执行JDK的安装,并更新JAVA_HOME环境变量来指向新版本。
摘要由CSDN通过智能技术生成

卸载

// 查询是否安装 jdk
rpm -qa | grep jdk
rpm -qa | grep java

// 卸载安装的 jdk
yum -y remove java*

yum 查询支持的版本

// 可以先更新一下 yum 源,以便支持最新版本
yum -y update

// 列出 jdk 所有大版本(每个大版本默认使用最新子版本)
yum list java*

举例结果:
java-1.6.0-openjdk.x86_64
java-1.7.0-openjdk.x86_64
java-1.8.0-openjdk.x86_64

// 列出 jdk 所有大版本和子版本,(如列出 1.8 下的所有子版本)
yum --showduplicate list java* | grep 1.8.0

举例结果:
1.8.0.181-7.b13.el7
1.8.0.191.b12-1.el7_6
1.8.0.212.b04-0.el7_6

// 列出每个大版本的名称(只名称,没有列出版本号)
yum search java | grep jdk

// 安装前建议先查看要安装的版本的子版本号为奇数(1.8.0.191)还是偶数(1.8.0.212),建议安装奇数版本,因为奇数版本经过了所有检验,偶数版本包含未检验的内容,可能有BUG(官方文档说明的)。经过长时间使用,确实发现偶数版本有些BUG。

// 安装大版本的最新子版本(不建议使用,先查看子版本号是否为奇数)
yum -y install java-1.8.0-openjdk.x86_64

// 安装指定大版本和子版本(这里建议安装奇数子版本,如1.8.0.191)
yum -y install java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64

// 安装完毕后,查看是否安装成功
java -version
举例结果:
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

安装jdk

原jdk7位置:/usr/java/jdk1.7.0_80
新jdk8位置:/usr/java/jdk1.8.0_212
[root@localhost ~] which java
/usr/bin/java
[root@localhost ~] rm -f /usr/bin/java && ln -s /usr/java/jdk1.8.0_212/bin/java /usr/bin/java
[root@localhost ~]

更改环境变量,将原来JAVA_HOME指向1.7的路径更改成1.8的

[root@localhost ~] vi /etc/profile
#export JAVA_HOME=/usr/java/jdk1.7.0_80
export JAVA_HOME=/usr/java/jdk1.8.0_212
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
使环境变量生效
[root@localhost ~] source /etc/profile
再查看当前java版本
[root@localhost ~] java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)

升级JDK

$ cat scripts/openjdk_upgrade.sh    
#!/bin/bash
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
email="zhangnq@baidu.com"
#send email
sendEmail(){
  curl -X POST \
  --data-urlencode "token=zaq12wsx" \
  --data-urlencode "subject=$1" \
  --data-urlencode "content=$2" \
  --data-urlencode "email=$3" \
  http://ops.baidu.chekiang.info:8005/api/email/send
}
#first check
version=`/usr/bin/java -version 2>&1`
res=$?
if [ $res -ne 0 ];then
  sub="get java version error."
  ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
  msg="IP: $ip"
  sendEmail "$sub" "$msg" "$email"
  exit 1
fi
count=`echo $version|grep '1.8.0_'|grep -v grep|wc -l`
if [ $res -eq 0 -a $count -eq 1 ];then
  echo "jdk 1.8 is installed,exit."
  exit 0
fi
#start to upgrade
add-apt-repository ppa:openjdk-r/ppa -y
apt-get update
apt-get install openjdk-8-jdk -y
update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
update-alternatives --set jps /usr/lib/jvm/java-8-openjdk-amd64/bin/jps
update-alternatives --set jstack /usr/lib/jvm/java-8-openjdk-amd64/bin/jstack
#last check
ip=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`
version=`/usr/bin/java -version 2>&1`
res=$?
if [ $res -ne 0 ];then
  sub="get java version error."
  msg="IP: $ip"
  sendEmail "$sub" "$msg" "$email"
  exit 1
fi
count=`echo $version|grep '1.8.0_'|grep -v grep|wc -l`
if [ $res -eq 0 -a $count -ne 1 ];then
  sub="upgrade java error."
  msg="IP: $ip"
  sendEmail "$sub" "$msg" "$email"
  exit 1
fi

参考链接 :

centos7更换jdk版本 :https://www.jianshu.com/p/3f85ec867293

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值