在更新Java前,建议先卸载系统中已安装的旧版本,避免版本冲突。
1. 查看已安装的Java包
运行以下命令查看系统中安装的Java相关包:
rpm -qa | grep java
或使用yum
列出已安装的Java包:
yum list installed | grep java
2. 卸载旧版本Java
若旧版本为yum
安装的OpenJDK,可使用以下命令卸载(以Java 1.8为例):
sudo yum remove java-1.8.0-openjdk* -y
若为手动安装的Oracle JDK,需找到安装目录(通常为/usr/java/
或/usr/local/
),删除对应文件夹:
sudo rm -rf /usr/java/jdk1.8.0_XXX
选择下载源
推荐从Oracle官网或OpenJDK官网下载稳定版本的JDK(如Java 17、21)。
下载对应版本
根据CentOS系统架构(x86_64或aarch64)选择合适的安装包:
yum
管理):如jdk-17_linux-x64_bin.rpm
jdk-17.0.1_linux-x64_bin.tar.gz
wget
命令下载(以OpenJDK 17为例):wget https://download.java.net/java/GA/jdk17/9/GPL/openjdk-17.0.1_linux-x64_bin.tar.gz
若下载的是RPM包,可直接用rpm
命令安装:
sudo rpm -ivh jdk-17_linux-x64_bin.rpm
安装完成后,JDK会自动安装到/usr/java/
目录下。
若下载的是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
编辑环境变量文件
打开/etc/profile
文件(全局生效)或~/.bashrc
文件(当前用户生效):
sudo vi /etc/profile
添加Java环境变量
在文件末尾添加以下内容(根据实际安装路径修改):
export JAVA_HOME=/usr/local/jdk17 # JDK安装目录
export PATH=$JAVA_HOME/bin:$PATH # 将Java bin目录加入PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 可选,部分应用需要
使配置生效
运行以下命令使环境变量立即生效:
source /etc/profile
运行以下命令检查Java是否更新成功:
java -version
若输出显示新安装的Java版本(如java version "17.0.1"
),则说明更新成功。
若系统中安装了多个Java版本,可使用以下工具切换默认版本:
alternatives
命令(CentOS自带)注册Java版本:
sudo alternatives --install /usr/bin/java java /usr/java/jdk1.8.0_XXX/bin/java 1
sudo alternatives --install /usr/bin/java java /usr/local/jdk17/bin/java 2
切换默认版本:
sudo alternatives --config java
系统会列出所有已注册的Java版本,输入对应编号选择即可。
SDKMAN
工具(高级用户推荐)安装SDKMAN:
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
安装Java版本:
sdk list java # 查看可用版本
sdk install java 17.0.2-open # 安装指定版本
切换默认版本:
sdk use java 17.0.2-open # 当前终端生效
sdk default java 17.0.2-open # 全局默认版本
sudo
执行需要管理员权限的命令。PATH
变量中JAVA_HOME/bin
的路径在前。