一、更新前准备

/usr/lib/jvm)和关键配置文件(如/etc/profile)。sudo cp -r /usr/lib/jvm /usr/lib/jvm_backupsudo cp /etc/profile /etc/profile.bakjava -version# 查看Java运行时版本javac -version # 查看Java编译器版本which java # 查看Java可执行文件路径(通常位于/usr/bin/java)二、通过包管理器更新(推荐:简单、安全)适用于需要稳定、受支持的Java版本(如OpenJDK),推荐使用CentOS自带的yum包管理器。
sudo yum remove java-1.8.0-openjdk java-1.8.0-openjdk-develyum能获取最新的软件包信息。sudo yum updateyum会自动解决依赖关系。sudo yum install java-17-openjdk-develjava -version# 应输出类似“openjdk version "17.0.xx"”javac -version # 应与新Java版本一致三、手动安装更新(适用于特定版本需求)若包管理器中没有所需版本(如Oracle JDK最新版),可通过手动下载安装包实现。
.tar.gz格式)。adoptopenjdk-17_hotspot_linux-x64_bin.tar.gz。/usr/lib/jvm(系统默认Java目录)。sudo tar zxvf adoptopenjdk-17_hotspot_linux-x64_bin.tar.gz -C /usr/lib/jvm/etc/profile,添加新Java路径。sudo vi /etc/profile在文件末尾添加(替换jdk-17为实际目录名):export JAVA_HOME=/usr/lib/jvm/jdk-17export PATH=$JAVA_HOME/bin:$PATHsource /etc/profilejava -versionjavac -version四、管理多个Java版本(可选)若需在同一系统保留多个Java版本,可使用以下工具快速切换:
alternatives命令(系统自带):sudo alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17/bin/java 1sudo alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-17/bin/javac 1sudo alternatives --config java# 选择对应版本的编号sudo alternatives --config javaccurl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"sdk list java# 查看可用版本sdk install java 17.0.2-open# 安装指定版本sdk use java 17.0.2-open# 切换为当前会话版本sdk default java 17.0.2-open# 设置为全局默认版本五、常见问题排查
PATH是否指向新Java的bin目录(如/usr/lib/jvm/jdk-17/bin),可通过echo $PATH确认。sudo提升权限,避免文件无法写入系统目录。java-1.8.0-openjdk-devel),再重新安装。