在升级前,需确认系统当前安装的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版本的升级及多版本管理。操作前请备份重要数据,避免误操作影响系统稳定性。