温馨提示×

怎样升级centos中的java版本

小樊
34
2025-10-15 04:36:59
栏目: 编程语言

升级CentOS中Java版本的详细步骤

1. 检查当前Java版本

在升级前,需确认系统当前安装的Java版本,使用以下命令:

java -version 

输出示例:openjdk version "1.8.0_311",明确当前版本后,再决定升级目标(如Java 11、17等)。

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

若系统已安装旧版本Java(如OpenJDK 8),建议先卸载以避免版本冲突。

  • 卸载OpenJDK
    sudo yum remove java-1.8.0-openjdk* # 将1.8.0替换为当前旧版本号 
  • 彻底清理残留(可选):
    yum remove未完全清除,可使用以下命令强制卸载所有Java相关包:
    rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 

3. 安装新版本Java

有两种主要安装方式:YUM包管理器安装(简单,推荐)和手动tar.gz安装(灵活,适合自定义版本)。

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

YUM是CentOS默认包管理器,可自动解决依赖关系,适用于OpenJDK版本。

  • CentOS 7及以下:使用yum命令;
  • CentOS 8及以上:使用dnf命令(yum已被弃用)。

示例(安装OpenJDK 11)

# CentOS 7 sudo yum install java-11-openjdk-devel -y # CentOS 8及以上 sudo dnf install java-11-openjdk-devel -y 

安装完成后,系统会自动配置默认Java版本。

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

若需要安装Oracle JDK或特定版本的OpenJDK,可通过以下步骤手动安装:

  • 下载JDK:访问Oracle官网OpenJDK官网,下载对应版本的tar.gz文件(如jdk-17.0.2_linux-x64_bin.tar.gz)。
  • 解压文件:将下载的压缩包上传至/usr/java目录(需提前创建),并解压:
    sudo mkdir -p /usr/java sudo tar -zxvf jdk-17.0.2_linux-x64_bin.tar.gz -C /usr/java/ 
  • 重命名目录(可选):
    sudo mv /usr/java/jdk-17.0.2 /usr/java/jdk17 

4. 配置环境变量

无论采用哪种安装方式,均需配置JAVA_HOMEPATH,使系统识别新Java版本。

  • 编辑配置文件
    sudo vi /etc/profile 
  • 添加以下内容(将路径替换为实际安装路径,如/usr/java/jdk17):
    export JAVA_HOME=/usr/java/jdk17 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
  • 使配置生效
    source /etc/profile 

5. 验证安装

使用以下命令确认新Java版本是否生效:

java -version 

输出应显示新安装的版本信息(如openjdk version "17.0.2"),若仍显示旧版本,需检查环境变量配置是否正确。

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

若系统中安装了多个Java版本(如Java 8和Java 11),可使用以下工具切换默认版本:

方法一:使用alternatives命令(系统自带)
  • 注册Java版本
    sudo alternatives --install /usr/bin/java java /usr/java/jdk17/bin/java 1 sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 2 
  • 切换版本
    sudo alternatives --config java 
    系统会列出所有已注册的Java版本,输入对应编号选择默认版本。
方法二:使用SDKMAN(高级用户推荐)

SDKMAN是专门用于管理Java及其他开发工具的工具,支持快速切换版本。

  • 安装SDKMAN
    curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" 
  • 安装Java版本
    sdk install java 17.0.2-open sdk install java 8.0.392-open 
  • 切换版本
    sdk use java 17.0.2-open # 临时切换 sdk default java 17.0.2-open # 设置全局默认 

通过以上步骤,即可在CentOS系统中完成Java版本的升级及多版本管理。操作前请备份重要数据,避免误操作影响系统稳定性。

0