若系统中已安装旧版本Java(如OpenJDK或Oracle JDK),建议先卸载以避免版本冲突。
java-1.8.0-openjdk
、java-11-openjdk
):sudo yum remove java-1.8.0-openjdk-devel -y # 替换为你的旧版本
.rpm
包安装,运行:sudo rpm -e --nodeps jdk1.8.0_XXX # 替换为你的旧版本包名
选择官方渠道(Oracle或OpenJDK)下载所需版本的JDK,优先选择.tar.gz
(手动安装)或.rpm
(包管理安装)格式。
vault.centos.org
),下载对应版本(如JDK 17、21)。wget https://download.java.net/java/GA/jdk17/9/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz
.tar.gz
文件(注意选择Linux x64版本)。根据下载的文件类型选择安装方式:
方式一:使用.tar.gz
手动安装(灵活,推荐)
/usr/local/
(系统级目录):sudo tar -zxvf openjdk-17.0.1_linux-x64_bin.tar.gz -C /usr/local/
sudo mv /usr/local/jdk-17.0.1 /usr/local/jdk17
方式二:使用.rpm
包安装(自动管理依赖)
sudo rpm -ivh jdk-17_linux-x64_bin.rpm
/usr/java/
目录(如/usr/java/jdk-17
)。为了让系统识别新Java版本,需修改环境变量JAVA_HOME
和PATH
。
/etc/profile
:sudo vi /etc/profile
export JAVA_HOME=/usr/local/jdk17 # 或/usr/java/jdk-17(若用.rpm安装)
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source /etc/profile
运行以下命令检查Java版本,确认升级成功:
java -version
预期输出应显示新安装的Java版本(如):
openjdk version "17.0.1" 2021-10-19 LTS
OpenJDK Runtime Environment (build 17.0.1+12-LTS-39)
OpenJDK 64-Bit Server VM (build 17.0.1+12-LTS-39, mixed mode)
若系统中存在多个Java版本,可使用以下工具切换默认版本:
使用alternatives
命令(系统自带)
sudo alternatives --install /usr/bin/java java /usr/local/jdk17/bin/java 1
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk/bin/java 2 # 若有OpenJDK 11
sudo alternatives --config java
根据提示输入对应版本的编号(如选择1
则切换到JDK 17)。使用SDKMAN
(高级用户推荐)
SDKMAN是专门用于管理Java及其他开发工具的工具,支持快速切换版本:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk list java
sdk install java 17.0.2-open # 安装OpenJDK 17
sdk default java 17.0.2-open
/etc/profile
)和项目代码。dnf
代替yum
(如sudo dnf remove java-*
),但yum
仍可兼容使用。