发布于2026-07-05 阅读(0)
扫一扫,手机访问
在日常运维或者开发环境搭建中,升级Ja va版本是再常见不过的操作了。虽然步骤本身不算复杂,但稍不注意就容易踩坑——比如版本冲突、环境变量没生效,或者全局默认版本没切对。下面就把整个流程拆开来讲,从检查到切换,一步步来。
动手之前,先看看系统里现在装的是哪个版本。这个很简单,终端里敲一行命令就能搞定:

ja va -version
输出的信息会告诉你当前JDK的版本号,比如 openjdk version "1.8.0_311" 就表示你还在用Ja va 8。有了这个基准,接下来要升级到Ja va 11、17还是21,心里就有数了。
如果系统里已经装了旧版Ja va(比如OpenJDK 8),强烈建议先把它卸干净,否则新老版本共存时,很可能会出现一些莫名其妙的问题。当然,如果你喜欢搞多版本管理,也可以保留,后面再通过工具切换——但前提是你要清楚自己在做什么。
sudo yum remove ja va-1.8.0-openjdk* # 把1.8.0换成你当前的老版本号yum remove没有清干净,可以用这招强制移除所有Ja va相关包:rpm -qa | grep -i ja va | xargs -n1 rpm -e --nodeps新版本的安装有两种主流方式:用YUM包管理器(简单省心),或者手动下载tar.gz压缩包(灵活可控)。根据实际需求选一种就好。
YUM是CentOS自带的包管理工具,会自动处理依赖关系,对新手非常友好。注意一下系统版本:CentOS 7及以下用yum命令,CentOS 8及以上改用dnf(因为yum已经被废弃了)。
安装OpenJDK 11的示例:
# CentOS 7
sudo yum install ja va-11-openjdk-devel -y
# CentOS 8及以上
sudo dnf install ja va-11-openjdk-devel -y
装完之后,系统会自动把该版本设为默认,省去手动配置的麻烦。
如果你需要安装Oracle JDK,或者想用某个特定版本的OpenJDK(比如最新的LTS版),那手动解压就是更灵活的选择。
tar.gz文件,比如jdk-17.0.2_linux-x64_bin.tar.gz。/usr/ja va目录(目录不存在就自己建一个),然后解压:sudo mkdir -p /usr/ja va
sudo tar -zxvf jdk-17.0.2_linux-x64_bin.tar.gz -C /usr/ja va/sudo mv /usr/ja va/jdk-17.0.2 /usr/ja va/jdk17不管用哪种方式安装,最后一步都是设置JA VA_HOME和PATH,否则系统根本不知道你装的新Ja va在哪。
sudo vi /etc/profile/usr/ja va/jdk17):export JA VA_HOME=/usr/ja va/jdk17
export PATH=$JA VA_HOME/bin:$PATH
export CLASSPATH=.:$JA VA_HOME/lib/dt.jar:$JA VA_HOME/lib/tools.jarsource /etc/profile到这一步,再运行一下ja va -version,看看输出的版本对不对。
ja va -version
正常情况应该能看到新版本的信息,比如 openjdk version "17.0.2"。如果仍然显示老版本,那八成是环境变量没配对——检查一下JA VA_HOME路径是否写错了,或者PATH里新路径是否放在了旧路径前面。
有些场景下,系统里可能会同时安装多个Ja va版本,比如项目A需要Ja va 8,项目B需要Ja va 17。这时候就需要一个工具来方便地切换默认版本。有两种常见做法:
alternatives命令(系统自带)sudo alternatives --install /usr/bin/ja va ja va /usr/ja va/jdk17/bin/ja va 1
sudo alternatives --install /usr/bin/ja va ja va /usr/lib/jvm/ja va-1.8.0-openjdk/bin/ja va 2这里的数字1和2是优先级,数字越大优先级越高(手动注册时通常由你来定)。sudo alternatives --config ja va系统会列出所有已注册的Ja va版本,输入对应的编号就能切换到你想用的那个。SDKMAN(高级用户推荐)SDKMAN是专门管理Ja va及相关开发工具的神器,安装、切换、卸载都极其方便。如果你经常折腾不同版本的JDK,强烈建议试试。
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"sdk install ja va 17.0.2-open
sdk install ja va 8.0.392-opensdk use ja va 17.0.2-open # 临时切换当前终端
sdk default ja va 17.0.2-open # 设置全局默认版本以上就是在CentOS中升级Ja va版本的完整流程。每个步骤都不难,但细节决定成败——特别是环境变量和版本切换那块,容易出问题。操作之前最好对重要数据做个备份,万一搞乱了也能回滚。另外,生产环境升级前一定要先在测试机上演一演,别直接上线上机器。毕竟,Ja va版本这事,表面看着简单,真出了问题排查起来也挺折腾的。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8