CentOS7同时安装JDK8和21

参考

参考链接:在centos7中安装jdk11,17并实现版本的切换

安装

清华大学开源软件镜像站

JDK-21

  • 下载
wget https://mirrors-i.tuna.tsinghua.edu.cn/Adoptium/21/jre/x64/linux/OpenJDK21U-jre_x64_linux_hotspot_21.0.4_7.tar.gz
wget https://mirrors-i.tuna.tsinghua.edu.cn/Adoptium/21/jre/x64/linux/OpenJDK21U-jre_x64_linux_hotspot_21.0.4_7.tar.gz
  • 安装
    tar -zxvf OpenJDK21U-jre_x64_linux_hotspot_21.0.4_7.tar.gz -C /usr/jdk-21

JDK-8

同上,略

测试

  • 验证jdk-21/
/usr/jdk-21/bin/java -version
openjdk version "21.0.4" 2024-07-16 LTS
OpenJDK Runtime Environment Temurin-21.0.4+7 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.4+7 (build 21.0.4+7-LTS, mixed mode, sharing)
  • 验证jdk-8
/usr/jdk-8/bin/java -version

安装alternatives切换

  • 安装java
alternatives --install /usr/bin/java java /usr/jdk-21/bin/java 20
alternatives --install /usr/bin/java java /usr/jdk-8/bin/java 40
  • 设置默认模式(会根据优先级自动选择,如上述 40为默认)
alternatives --auto java
  • 查看大当前设置
alternatives --display java
java - 状态为自动。
链接当前指向 /usr/jdk-21/bin/java
/usr/jdk-8/bin/java - priority 40
/usr/jdk-21/bin/java - priority 20
当前“最佳”版本是 /usr/jdk-8/bin/java。

验证切换

  • 切换jdk-8
alternatives --config java
共有 2 个提供“java”的程序。

  选项    命令
-----------------------------------------------
*  1           /usr/jdk-8/bin/java
 + 2           /usr/jdk-21/bin/java


按 Enter 保留当前选项[+],或者键入选项编号:1
/usr/bin/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-21
alternatives --config java
共有 2 个提供“java”的程序。

  选项    命令
-----------------------------------------------
*+ 1           /usr/jdk-8/bin/java
   2           /usr/jdk-21/bin/java

按 Enter 保留当前选项[+],或者键入选项编号:2
/usr/bin/java -version
openjdk version "21.0.4" 2024-07-16 LTS
OpenJDK Runtime Environment Temurin-21.0.4+7 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.4+7 (build 21.0.4+7-LTS, mixed mode, sharing)

自动加载环境变量

配置环境变量

vim /etc/profile
# 在/etc/profile定义,每次根据当前java 切换不同的Java环境变量
JAVA_PATH=$(readlink -f /usr/bin/java)  # 获取当前java命令路径
JAVA_HOME=${JAVA_PATH%/bin/java*}  # 截取JAVA_HOME路径,shell语法参考{var%.*}
JRE_HOME=$JAVA_HOME/jre
CLASSPATH=.:$JAVA_HOME:$JRE_HOME/lib
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME JRE_HOME CLASSPATH PATH

手动切换方式

  • 输入命令,检查当前的java版本(+标识)
alternatives --config java
  • 可以根据提示输入编号,切换JDK(输入2,切换jdk-21)
共有 2 个提供“java”的程序。

  选项    命令
-----------------------------------------------
*+ 1           /usr/jdk-8/bin/java
   2           /usr/jdk-21/bin/java

按 Enter 保留当前选项[+],或者键入选项编号:2

  • 加载环境变量生效( 如果切换了java,需要执行
source /etc/profile

检查当前环境变量

  • 检查java 版本
[root@centos7-5241 ~]# java -version
openjdk version "21.0.4" 2024-07-16 LTS
OpenJDK Runtime Environment Temurin-21.0.4+7 (build 21.0.4+7-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.4+7 (build 21.0.4+7-LTS, mixed mode, sharing)
  • 检查JAVA_HOME
[root@centos7-5241 ~]# echo $JAVA_HOME
/usr/jdk-21.0.4+7
  • 检查JRE_HOME
[root@centos7-5241 ~]# echo $JRE_HOME
/usr/jdk-21.0.4+7/jre
  • 检查CLASSPATH
[root@centos7-5241 ~]# echo $CLASSPATH
.:/usr/jdk-21.0.4+7:/usr/jdk-21.0.4+7/jre/lib
  • 检查系统路径
[root@centos7-5241 ~]# echo $PATH
/usr/local/nginx1.26.1/sbin:/usr/local/python3.11/bin:/usr/jdk-21.0.4+7/bin:/usr/local/nginx1.26.1/sbin:/usr/local/python3.11/bin:/usr/java/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值