CentOS系统如何更新Java版本与安装配置教程
时间:2026-08-18 | 作者:骑光打字机 | 阅读:0CentOS上的Ja va版本更新,说难不难,说简单也藏着不少坑。
不少运维同学在线上环境折腾过几回,深有体会:版本冲突、环境变量配置失误、默认版本切换失败,哪一步都可能让服务宕掉。
今天就把这套流程从头到尾捋一遍。每一步都讲清楚“为什么这样做”和“不这样做会怎样”,帮你少走弯路。
更新前先确认当前状态
1. 查看当前Ja va版本
动手之前,先摸清家底。运行这个命令:ja va -version。
输出结果会告诉你当前使用的是哪个版本,比如openjdk version "1.8.0_392"。
这一步不仅能确认要不要更新,还能帮助你判断后续操作的目标版本。
如果系统里压根没装Ja va,输出会提示“command not found”,这时可直接跳到第3步下载。
清理旧版本
2. 卸载旧版本Ja va(可选但推荐)
新老版本共存虽然可行,但容易引发类路径混乱、环境变量冲突。
推荐做法是先清理干净,再安装新的版本。根据Ja va类型选择对应命令:
- 卸载OpenJDK:CentOS 7及以下用
sudo yum remove ja va-* -y;CentOS 8及以上用sudo dnf remove ja va-* -y。通配符ja va-*会匹配所有以ja va-开头的包,基本能清干净。 - 卸载Oracle JDK:如果当初是通过
.rpm包安装的,用rpm -e --nodeps jdk1.8.0_392(包名替换为你实际安装的版本)。注意--nodeps参数会跳过依赖检查,适合强制卸载。
提示:卸载前最好确认一下有没有其他服务依赖旧版Ja va,避免误删导致生产故障。
下载并安装新版本
3. 下载新版本Ja va
去Oracle官方或OpenJDK官网下载适合CentOS架构的版本。
主流架构是x86_64,但ARM服务器也越来越常见,下载时别选错。
文件格式通常有两种:.rpm和.tar.gz。
- Oracle JDK:下载
.rpm文件,比如jdk-17_linux-x64_bin.rpm。安装简单,后续配置也更省心。 - OpenJDK:可以通过yum/dnf直接安装(见步骤4),也可以下载
.tar.gz手动部署。如果追求定制化,后者更灵活。
4. 安装新版本Ja va
根据下载的文件类型选择安装方式。两种都能用,但体验差异不小。
- 通过
.rpm包安装(推荐):sudo rpm -ivh jdk-17_linux-x64_bin.rpm。
安装完成后,Ja va默认会放到/usr/ja va/目录下。环境变量也会自动配置一部分,后续只需微调。这是最省力的方式。
- 通过
.tar.gz包安装:解压到指定目录,比如/usr/local/,然后重命名文件夹,方便管理:
sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/local/
sudo mv /usr/local/jdk-17 /usr/local/jdk
这种方式需要手动配置环境变量,但好处是路径可控。多个版本切换时,也会更灵活。
配置与验证
5. 配置环境变量
这是最容易出错的环节。
打开/etc/profile,在文件末尾追加:
export JA VA_HOME=/usr/local/jdk # 替换为你的实际安装路径
export PATH=$JA VA_HOME/bin:$PATH
export CLASSPATH=.:$JA VA_HOME/lib/dt.jar:$JA VA_HOME/lib/tools.jar # 可选,部分应用需要
保存后执行source /etc/profile,让配置生效。
如果使用的是.rpm安装方式,JA VA_HOME路径通常为/usr/ja va/jdk-17。具体可以查看/usr/ja va/下的目录名。
配置完成后,记得重新登录终端或执行source。否则新开窗口可能不生效。
6. 验证Ja va版本
运行ja va -version。如果输出显示新版本号,比如ja va version "17.0.8",说明更新成功。
如果还是旧版本,可能是环境变量没有生效,或者系统优先调用了其他路径下的Ja va。
这时可以执行which ja va,查看实际指向的是哪个路径。
多版本管理方案
7. 管理多个Ja va版本(可选)
如果需要同时保留多个版本,或者想频繁切换默认版本,可以使用下面两种工具。
使用alternatives命令
这是CentOS自带的版本管理工具,适合系统级切换。
先注册Ja va和ja vac:
sudo alternatives --install /usr/bin/ja va ja va /usr/local/jdk/bin/ja va 1
sudo alternatives --install /usr/bin/ja vac ja vac /usr/local/jdk/bin/ja vac 1
然后执行sudo alternatives --config ja va,输入编号即可切换。
注意每次添加新版本时,优先级数字(示例中的1)要递增,否则不会覆盖旧配置。
使用SDKMAN工具(推荐)
SDKMAN是专门管理Ja va、Ma ven、Gradle等开发工具的工具,安装简单:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk install ja va 17.0.8-open # 安装OpenJDK 17
sdk use ja va 17.0.8-open # 临时切换
sdk default ja va 17.0.8-open # 设为默认版本
使用sdk list ja va可以查看所有可用版本,覆盖了Oracle JDK、OpenJDK、GraalVM等,使用起来相当方便。
SDKMAN的优点是版本隔离彻底,不会污染系统环境,适合开发机或测试环境。
更新后的收尾检查
更新完Ja va后,记得重启一下相关服务,如Tomcat、Spring Boot应用,确保新版本生效。
如果遇到类加载异常或UnsupportedClassVersionError,多半是编译版本和运行版本不匹配。
这时检查一下ja vac -version的版本号是否一致,通常就能定位问题。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Golang 在 CentOS 上怎么配置数据库连接:MySQL 与 PostgreSQL 实战说明
- 时间:2026-08-25
-
- CentOS 上 Python 版本怎么选:先保系统,再看项目与稳定性
- 时间:2026-08-25
-
- CentOS 下如何配置 Golang 并发模型
- 时间:2026-08-25
-
- CentOS 上安装 Python 需要哪些依赖?从基础环境到编译与项目隔离一次讲清
- 时间:2026-08-25
-
- CentOS 系统部署 Golang 应用,安全配置该从哪些环节下手
- 时间:2026-08-25
-
- Golang 在 CentOS 上如何搭建调试环境
- 时间:2026-08-25
-
- CentOS 下如何调试运行 Python 脚本:从 print 到 pdb 的实用选择
- 时间:2026-08-25
-
- CentOS 中 Golang 依赖库怎么安装
- 时间:2026-08-25
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15
