在CentOS系统中卸载和安装JDK是开发环境中常见的操作,正确处理这些步骤可以避免版本冲突和环境配置问题,本文将详细介绍如何在CentOS系统中彻底卸载旧版JDK,并安装合适的新版本JDK,同时提供环境变量配置和常见问题解决方案。

卸载旧版JDK
在安装新JDK之前,首先需要确认系统中是否已安装JDK及其版本,打开终端,执行以下命令检查已安装的Java版本:
java -version
如果系统已安装JDK,还需要通过以下命令查看具体的安装路径:
which java
或者使用alternatives工具查看所有Java版本:
alternatives --display java
确认JDK安装路径后,根据不同的安装方式选择卸载方法,如果是通过yum或dnf包管理器安装的,可以使用以下命令卸载:
sudo yum remove java-1.8.0-openjdk java-1.8.0-openjdk-devel
对于使用rpm命令安装的JDK,需先查询安装包名称:
rpm -qa | grep java
然后使用rpm -e命令卸载:
sudo rpm -e <package-name>
如果JDK是手动解压安装的,直接删除对应的安装目录即可,
sudo rm -rf /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64
卸载完成后,建议检查环境变量JAVA_HOME和PATH中是否包含旧JDK的路径,并编辑/etc/profile或用户家目录下的.bashrc文件,删除相关配置:
vi /etc/profile
找到类似export JAVA_HOME=/path/to/jdk和$JAVA_HOME/bin的行,注释或删除后保存文件,并执行以下命令使配置生效:

source /etc/profile
下载并安装JDK
卸载旧JDK后,可根据项目需求选择合适的JDK版本,推荐从Oracle官网或OpenJDK官网下载Linux版本的tar.gz安装包,以OpenJDK 11为例,下载命令如下:
wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
下载完成后,将安装包移动到/usr/local目录并解压:
sudo mv openjdk-11.0.2_linux-x64_bin.tar.gz /usr/local/ cd /usr/local sudo tar -zxvf openjdk-11.0.2_linux-x64_bin.tar.gz
解压后,创建java符号链接以便于管理版本:
sudo ln -s /usr/local/jdk-11.0.2 /usr/local/java
配置环境变量
安装JDK后,需要配置JAVA_HOME和PATH环境变量,编辑/etc/profile文件:
sudo vi /etc/profile
在文件末尾添加以下内容:
export JAVA_HOME=/usr/local/java export PATH=$PATH:$JAVA_HOME/bin
保存文件后,执行以下命令使配置立即生效:
source /etc/profile
验证JDK是否安装成功,执行以下命令:
java -version javac -version
如果显示正确的版本号,说明JDK安装和配置成功,若需为特定用户配置环境变量,可编辑用户家目录下的.bashrc文件,添加相同的配置并执行source ~/.bashrc。
验证JDK安装
为确保JDK正常工作,可编写一个简单的Java程序测试,创建HelloWorld.java文件:

vi HelloWorld.java
输入以下代码并保存:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
使用javac编译文件:
javac HelloWorld.java
然后运行:
java HelloWorld
如果输出Hello, World!,说明JDK环境配置正确。
常见问题处理
在卸载和安装JDK过程中,可能会遇到一些问题,卸载不彻底导致版本冲突,可通过检查alternatives和手动删除残留目录解决,环境变量配置错误可能导致java -version仍显示旧版本,需重新检查/etc/profile或.bashrc文件,确保下载的JDK安装包与系统架构(如x64或aarch64)匹配,避免解压后无法运行。
相关问答FAQs
Q1: 卸载JDK后,java -version仍显示旧版本,如何解决?
A: 可能是环境变量未完全清理或alternatives未更新,执行sudo alternatives --config java选择正确的JDK版本,并检查/etc/profile和.bashrc文件中是否残留旧JDK路径,删除后重新执行source命令。
Q2: 安装新JDK后,javac命令不可用,如何处理?
A: 通常是因为PATH未正确配置$JAVA_HOME/bin路径,检查/etc/profile或.bashrc文件中的PATH变量,确保包含$JAVA_HOME/bin,保存后执行source命令使配置生效,若问题依旧,可尝试重新安装JDK或手动创建javac的符号链接。