首页主机资讯CentOS Java版本回滚方法

CentOS Java版本回滚方法

时间2025-12-19 21:55:05发布访客分类主机资讯浏览905
导读:CentOS Java版本回滚方法 一 前置检查 查看当前默认版本与可执行文件位置: 命令:java -version、which java 列出系统已注册的可用 Java 版本(供切换/回滚选择): 命令:sudo altern...

CentOS Java版本回滚方法

一 前置检查

  • 查看当前默认版本与可执行文件位置:
    • 命令:java -versionwhich java
  • 列出系统已注册的可用 Java 版本(供切换/回滚选择):
    • 命令:sudo alternatives --display java
  • 查看已安装的 Java 相关 RPM 包(便于卸载或确认保留的版本):
    • 命令:rpm -qa | grep java
  • 核对 JAVA_HOME 是否指向目标回滚版本目录(常见路径在 /usr/lib/jvm/):
    • 命令:echo $JAVA_HOMEls /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 -versionjavac -version 是否一致指向旧版本
  • 方法二 安装旧版本后切换(旧版未安装时)

    • 安装所需旧版(示例为 OpenJDK 8 开发包):
      • 命令:sudo yum install java-1.8.0-openjdk-devel -y
    • 使用 alternatives 切换为刚安装的旧版(见方法一步骤)
    • 验证:java -version
  • 方法三 直接回滚 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 -versionjavac -version
    • 确认默认 java 指向目标版本:which javareadlink -f $(which java)
    • 核对 JAVA_HOME 与 PATH:echo $JAVA_HOMEecho $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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Java版本回滚方法
本文地址: https://pptw.com/jishu/776699.html
如何在CentOS上监控Java运行状态 centos如何配置sqlplus环境变量

游客 回复需填写必要信息