在升级前,需确认系统当前安装的Java版本,使用以下命令:
java -version 输出示例:openjdk version "1.8.0_311",明确当前版本后,再决定升级目标(如Java 11、17等)。
若系统已安装旧版本Java(如OpenJDK 8),建议先卸载以避免版本冲突。
sudo yum remove java-1.8.0-openjdk* # 将1.8.0替换为当前旧版本号 yum remove未完全清除,可使用以下命令强制卸载所有Java相关包:rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps 有两种主要安装方式:YUM包管理器安装(简单,推荐)和手动tar.gz安装(灵活,适合自定义版本)。
YUM是CentOS默认包管理器,可自动解决依赖关系,适用于OpenJDK版本。
yum命令;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版本。
若需要安装Oracle JDK或特定版本的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 无论采用哪种安装方式,均需配置JAVA_HOME和PATH,使系统识别新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 使用以下命令确认新Java版本是否生效:
java -version 输出应显示新安装的版本信息(如openjdk version "17.0.2"),若仍显示旧版本,需检查环境变量配置是否正确。
若系统中安装了多个Java版本(如Java 8和Java 11),可使用以下工具切换默认版本:
alternatives命令(系统自带)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及其他开发工具的工具,支持快速切换版本。
curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" 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版本的升级及多版本管理。操作前请备份重要数据,避免误操作影响系统稳定性。