首先确认系统中已安装的Java版本,使用以下命令:
java -version
输出结果会显示当前Java版本(如openjdk version "1.8.0_333"),帮助确认后续更新的目标版本。
若系统中存在旧版本Java(如OpenJDK 1.8),建议先卸载以避免版本冲突。根据CentOS版本选择对应命令:
yum):sudo yum remove java-1.8.0-openjdk* # 将1.8.0替换为旧版本号
dnf,yum已被弃用):sudo dnf remove java-1.8.0-openjdk* # 同上,替换版本号
执行后,系统会删除旧版本的Java安装包及相关依赖。
访问Java官方下载页面(如Oracle JDK或OpenJDK),选择所需版本(如JDK 11、17),下载对应的安装包:
wget https://download.oracle.com/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.rpm
wget https://download.oracle.com/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
根据下载的安装包格式选择对应安装方式:
sudo rpm -ivh openjdk-11.0.2_linux-x64_bin.rpm
此命令会自动将Java安装到系统默认路径(如/usr/java/jdk-11.0.2)。tar -zxvf openjdk-11.0.2_linux-x64_bin.tar.gz # 解压文件
sudo mv jdk-11.0.2 /usr/local/java/ # 移动到指定目录(如/usr/local/java)
编辑全局环境变量文件/etc/profile,添加新Java版本的路径:
sudo vi /etc/profile
在文件末尾添加以下内容(根据实际安装路径调整):
export JAVA_HOME=/usr/local/java/jdk-11.0.2 # JDK安装目录
export PATH=$JAVA_HOME/bin:$PATH # 将Java bin目录加入PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar # 可选,支持编译和运行
保存并退出(vi中按Esc→输入:wq→回车),然后使配置生效:
source /etc/profile
运行以下命令确认新版本Java已生效:
java -version
输出应显示新安装的Java版本(如openjdk version "11.0.2"),说明更新成功。
若系统中安装了多个Java版本(如JDK 8和11),可使用update-alternatives工具快速切换默认版本:
sudo alternatives --install /usr/bin/java java /usr/local/java/jdk-11.0.2/bin/java 1 # 注册JDK 11
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 2 # 注册JDK 8
sudo alternatives --config java
系统会列出所有已注册的Java版本,输入对应编号(如1代表JDK 11)并按回车,即可切换默认版本。通过以上步骤,即可在CentOS系统中完成Java版本的更新,并根据需要管理多个Java版本。