商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 怎样升级centos中的java版本

怎样升级centos中的java版本

  发布于2026-07-05 阅读(0)

扫一扫,手机访问

升级CentOS中Ja va版本的详细步骤

在日常运维或者开发环境搭建中,升级Ja va版本是再常见不过的操作了。虽然步骤本身不算复杂,但稍不注意就容易踩坑——比如版本冲突、环境变量没生效,或者全局默认版本没切对。下面就把整个流程拆开来讲,从检查到切换,一步步来。

1. 检查当前Ja va版本

动手之前,先看看系统里现在装的是哪个版本。这个很简单,终端里敲一行命令就能搞定:

怎样升级centos中的ja va版本

ja va -version

输出的信息会告诉你当前JDK的版本号,比如 openjdk version "1.8.0_311" 就表示你还在用Ja va 8。有了这个基准,接下来要升级到Ja va 11、17还是21,心里就有数了。

2. 卸载旧版本Ja va(可选但推荐)

如果系统里已经装了旧版Ja va(比如OpenJDK 8),强烈建议先把它卸干净,否则新老版本共存时,很可能会出现一些莫名其妙的问题。当然,如果你喜欢搞多版本管理,也可以保留,后面再通过工具切换——但前提是你要清楚自己在做什么。

  • 卸载OpenJDK:
    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

3. 安装新版本Ja va

新版本的安装有两种主流方式:用YUM包管理器(简单省心),或者手动下载tar.gz压缩包(灵活可控)。根据实际需求选一种就好。

方式一:使用YUM安装(推荐)

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

装完之后,系统会自动把该版本设为默认,省去手动配置的麻烦。

方式二:手动下载tar.gz安装(自定义版本)

如果你需要安装Oracle JDK,或者想用某个特定版本的OpenJDK(比如最新的LTS版),那手动解压就是更灵活的选择。

  • 先到Oracle官网或OpenJDK官网,下载对应的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

4. 配置环境变量

不管用哪种方式安装,最后一步都是设置JA VA_HOMEPATH,否则系统根本不知道你装的新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.jar
  • 让配置立即生效:
    source /etc/profile

5. 验证安装

到这一步,再运行一下ja va -version,看看输出的版本对不对。

ja va -version

正常情况应该能看到新版本的信息,比如 openjdk version "17.0.2"。如果仍然显示老版本,那八成是环境变量没配对——检查一下JA VA_HOME路径是否写错了,或者PATH里新路径是否放在了旧路径前面。

6. 管理多个Ja va版本(可选)

有些场景下,系统里可能会同时安装多个Ja va版本,比如项目A需要Ja va 8,项目B需要Ja va 17。这时候就需要一个工具来方便地切换默认版本。有两种常见做法:

方法一:使用alternatives命令(系统自带)
  • 注册Ja va版本:
    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,强烈建议试试。

  • 安装SDKMAN:
    curl -s "https://get.sdkman.io" | bash
    source "$HOME/.sdkman/bin/sdkman-init.sh"
  • 安装指定Ja va版本:
    sdk install ja va 17.0.2-open
    sdk install ja va 8.0.392-open
  • 切换版本:
    sdk use ja va 17.0.2-open   # 临时切换当前终端
    sdk default ja va 17.0.2-open   # 设置全局默认版本

以上就是在CentOS中升级Ja va版本的完整流程。每个步骤都不难,但细节决定成败——特别是环境变量和版本切换那块,容易出问题。操作之前最好对重要数据做个备份,万一搞乱了也能回滚。另外,生产环境升级前一定要先在测试机上演一演,别直接上线上机器。毕竟,Ja va版本这事,表面看着简单,真出了问题排查起来也挺折腾的。

本文转载于:https://www.yisu.com/ask/32279192.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注