在CentOS系统回滚Java版本需要先确认当前使用版本,然后卸载高版本并安装目标版本,通过alternatives工具切换并验证。建议提前备份项目重要文件,也可借助SDKMAN工具简化操作,防止版本冲突,确保环境稳定且默认版本正确。
CentOS Java版本回滚方法
时间:2026-07-07
浏览:203
文章目录
CentOS Java版本回滚操作指南
操作系统里的Java版本,有时候还真不能太新。特别是维护老项目时,Java 8反而比Java 11更稳当。但问题是,系统已经装上了高版本,怎么优雅地降回去?别急,把下面这几步走完就行。

操作前准备:先看清手里有什么牌
先别急着动手,得先确认当前环境。运行以下命令,看看现在用的是哪个版本:
java -version
正常会看到类似 openjdk version "11.0.15" 2022-04-19 LTS 的输出。接下来,通过包管理工具列出所有已安装的Java包,搞清楚目标版本到底装没装——万一要回滚的版本压根没装,那操作路数就完全不一样了。
rpm -qa | grep java-1
或者用yum方式查看:
yum list installed | grep java
记下目标版本的完整包名,比如 java-1.8.0-openjdk-1.8.0.392.b08-2.el7_9.x86_64,后面会用到。
具体操作步骤
第一步:清理当前版本(可选但强烈推荐)
如果当前跑的是Java 11,而你的目标是Java 8,并且不打算保留Java 11,那就直接卸载:
sudo yum remove java-11-openjdk java-11-openjdk-devel -y
卸载完跑一遍 java -version,确保旧版本确实被清掉了。这一步能避免之后切换版本时出现诡异的优先级冲突。
第二步:装好目标版本
以Java 8为例,用yum安装即可:
sudo yum install java-1.8.0-openjdk-devel -y
yum会自动处理依赖,不需要额外操心。如果想装的是Java 17或其他版本,把版本号替换成对应值就行。
第三步:活用alternatives进行版本切换
如果系统里同时保留着多个Java版本,那就要用 alternatives 工具来指定系统默认使用的那个。
有时候安装新版本后alternatives不会自动注册,需要手动添加:
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 1
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk/bin/java 2
路径一定要对,可以通过 ls /usr/lib/jvm/ 查看实际安装路径。
注册完成后,执行切换命令:
sudo alternatives --config java
系统会列出所有已注册的Java版本,输入对应的编号(比如输入 1 代表Java 8),回车确认。
第四步:验证结果
这时候再跑一遍 java -version,输出应该变成目标版本了,比如 openjdk version "1.8.0_392"。看到这个,说明回滚操作已经成功。
进阶:修改环境变量让切换永久生效
如果想对特定用户或全局彻底生效,需要手动设置 JAVA_HOME 和 PATH。编辑全局配置文件:
sudo vi /etc/profile
在文件末尾添加(以Java 8为例):
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
保存退出后执行 source /etc/profile,或者重启终端让配置生效。
注意事项
操作之前有个小提醒:建议先备份项目配置文件和数据库,避免误操作后手忙脚乱。另外,如果平时习惯用SDKMAN这类工具,也可以走 sdk install java 和 sdk use java 的命令,更便捷,前提是提前装好SDKMAN(curl -s "https://get.sdkman.io" | bash)。
实用工具推荐
绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
选择画质和输出格式,预览压缩前后的大小。