CentOS Java版本回滚方法
导读:CentOS Java版本回滚方法 一 前置检查 查看当前默认版本与可执行文件位置: 命令:java -version、which java 列出系统已注册的可用 Java 版本(供切换/回滚选择): 命令:sudo altern...
CentOS Java版本回滚方法
一 前置检查
- 查看当前默认版本与可执行文件位置:
- 命令:
java -version、which java
- 命令:
- 列出系统已注册的可用 Java 版本(供切换/回滚选择):
- 命令:
sudo alternatives --display java
- 命令:
- 查看已安装的 Java 相关 RPM 包(便于卸载或确认保留的版本):
- 命令:
rpm -qa | grep java
- 命令:
- 核对 JAVA_HOME 是否指向目标回滚版本目录(常见路径在 /usr/lib/jvm/):
- 命令:
echo $JAVA_HOME、ls /usr/lib/jvm/
- 命令:
二 回滚方法
-
方法一 使用 alternatives 切换为已安装旧版本(推荐,安全可逆)
- 列出并选择旧版本:
- 命令:
sudo alternatives --config java(按提示输入旧版本编号)
- 命令:
- 若旧版本未注册到 alternatives,先注册再切换(示例将 OpenJDK 8 加入备选):
- 命令:
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 100 - 然后:
sudo alternatives --config java选择它
- 命令:
- 验证:
java -version与javac -version是否一致指向旧版本
- 列出并选择旧版本:
-
方法二 安装旧版本后切换(旧版未安装时)
- 安装所需旧版(示例为 OpenJDK 8 开发包):
- 命令:
sudo yum install java-1.8.0-openjdk-devel -y
- 命令:
- 使用 alternatives 切换为刚安装的旧版(见方法一步骤)
- 验证:
java -version
- 安装所需旧版(示例为 OpenJDK 8 开发包):
-
方法三 直接回滚 yum 小版本升级(有备份时最快)
- 停止应用:
sudo systemctl stop your-java-app - 恢复备份目录(升级前已备份):
- 命令:
sudo rm -rf /usr/lib/jvm/java-1.8.0-openjdk - 命令:
sudo cp -r /usr/lib/jvm/java-1.8.0-openjdk-backup /usr/lib/jvm/java-1.8.0-openjdk
- 命令:
- 验证:
java -version - 说明:仅在你做过文件系统级备份时适用;若未备份,优先用方法一/二
- 停止应用:
-
方法四 卸载新版本仅保留旧版本(谨慎)
- 列出并确认要移除的新版本包名:
- 命令:
rpm -qa | grep java
- 命令:
- 卸载:
sudo yum remove < 新版本包名> -y - 验证:
java -version - 风险提示:可能移除被其他软件依赖的包,生产环境建议优先用 alternatives 切换而非卸载
- 列出并确认要移除的新版本包名:
三 校验与常见问题
- 校验要点
- 同时检查运行时与编译器版本:
java -version、javac -version - 确认默认 java 指向目标版本:
which java、readlink -f $(which java) - 核对 JAVA_HOME 与 PATH:
echo $JAVA_HOME、echo $PATH,必要时在 /etc/profile.d/java.sh 中设置并source使其生效
- 同时检查运行时与编译器版本:
- 常见问题处理
- 命令未生效或 PATH 顺序不当:检查
/etc/profile.d/java.sh是否存在且 PATH 包含$JAVA_HOME/bin,执行source /etc/profile.d/java.sh - alternatives 中无旧版本可选:先用
alternatives --install注册旧版,再用--config切换 - 系统自带或残留旧版导致仍显示旧版本:用
rpm -qa | grep java查包,必要时卸载冲突包;或调整 alternatives 优先级 - 仅 java 或仅 javac 版本不一致:说明 PATH 或 alternatives 指向不一致,统一使用 alternatives 切换并确保 JAVA_HOME 指向同一 JDK
- 命令未生效或 PATH 顺序不当:检查
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS Java版本回滚方法
本文地址: https://pptw.com/jishu/776699.html
