Java版本切换~Linux
来自: Ultra~你过来啊
浅木先生
2025年03月13日 12:46
环境情况: centos7 服务器, 已经使用 yum 方式安装过 java1.8 与 java11
安装方式可参照: https://wx.zsxq.com/columns/15552425251112?column_id=8412242122 --java1.8
https://articles.zsxq.com/id_9jcmjwpsxiia.html -- java11
步骤 1:确认 Java 安装路径
首先找到 JDK 的安装路径,通常它们位于 /usr/lib/jvm/ 目录下。
执行以下命令查找已安装的 Java 版本:
ls /usr/lib/jvm/
输出可能是:
步骤 2:配置全局环境变量
通过 alternatives 工具管理多版本切换:
1. 注册 Java 版本到 alternatives
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/bin/java 1
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/bin/java 2
# 移除方法- 配置错误时使用
sudo alternatives --remove java /usr/lib/jvm/java-11-openjdk-11.0.23.0.9-2.el7_9.x86_64/bin/java
2. 切换 Java 版本
运行以下命令选择版本:
sudo alternatives --config java
输入 1 或 2 即可切换。
步骤 3:验证切换结果
检查当前 Java 版本:
java -version
环境变量:
需要将原有的环境变量删除
# 添加动态获取 JAVA_HOME 的配置
echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:/jre/bin/java::; s:/bin/java::")' | sudo tee -a /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile
# 生效配置
source /etc/profile
验证切换
# 切换 Java 版本
sudo alternatives --config java
# 输入选项 2 (Java 11)
java -version
# 检查符号链接链
readlink -f /usr/bin/java