在Linux系统中更改JDK(Java Development Kit)是开发过程中常见的操作,无论是升级版本、切换到OpenJDK还是回退到特定版本,都需要掌握正确的操作方法,本文将详细介绍在Linux系统中更改JDK的完整流程,包括环境变量配置、多版本管理及常见问题处理,帮助开发者顺利完成JDK版本切换。

检查当前系统JDK安装情况
在更改JDK之前,首先需要确认当前系统中已安装的JDK版本及路径,打开终端,执行以下命令查看当前默认JDK版本:
java -version javac -version
若已安装多个JDK版本,可通过update-alternatives工具查看所有可用的JDK选项(适用于基于Debian/Ubuntu的系统):
update-alternatives --display java update-alternatives --display javac
对于基于RedHat/CentOS的系统,可使用alternatives命令:
alternatives --display java
通过上述命令,可以明确当前系统使用的JDK路径及版本,为后续更改操作提供依据。
卸载旧版本JDK(可选)
如果需要彻底卸载旧版本JDK,可根据安装方式选择不同的卸载方法,对于通过包管理器安装的JDK(如apt、yum),推荐使用以下命令:
Ubuntu/Debian系统:
sudo apt purge openjdk-11-jdk openjdk-11-jre
CentOS/RHEL系统:
sudo yum remove java-1.8.0-openjdk java-1.8.0-openjdk-devel
若JDK是通过手动解压安装的,需手动删除安装目录:
sudo rm -rf /usr/lib/jvm/java-11-openjdk-amd64
卸载完成后,建议清理环境变量中的相关配置,确保无残留路径引用。

安装新版本JDK
使用包管理器安装
Ubuntu/Debian系统:
sudo apt update sudo apt install openjdk-17-jdk
CentOS/RHEL系统:
sudo yum install java-17-openjdk-devel
安装完成后,可通过java -version验证是否安装成功。
手动安装Oracle JDK或OpenJDK
若需安装特定版本的JDK(如Oracle JDK),可从官网下载压缩包,手动安装:
# 下载JDK压缩包(以JDK 17为例) wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz # 解压到/usr/lib/jvm目录 sudo tar -zxvf jdk-17_linux-x64_bin.tar.gz -C /usr/lib/jvm/ # 重命名目录方便管理 sudo mv /usr/lib/jvm/jdk-17.0.2/ /usr/lib/jvm/java-17-oracle/
配置环境变量
无论采用何种安装方式,均需正确配置JAVA_HOME及PATH环境变量,确保系统能找到新JDK,以下是两种主流配置方法:
临时配置(当前终端生效)
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH
此方法仅对当前终端有效,关闭后失效。
永久配置(推荐)
编辑~/.bashrc或~/.bash_profile文件:
nano ~/.bashrc ```路径需根据实际安装目录调整): ```bash export JAVA_HOME=/usr/lib/jvm/java-17-oracle export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
保存后执行source ~/.bashrc使配置生效。
系统级配置(所有用户生效):

sudo nano /etc/profile
在文件末尾添加上述环境变量,执行source /etc/profile生效。
使用update-alternatives管理多版本JDK
当系统安装多个JDK版本时,可通过update-alternatives工具统一管理,实现版本快速切换:
注册JDK版本
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-17-openjdk-amd64/bin/javac 1
参数说明:--install后依次为链接路径、命令名称、实际JDK路径、优先级数字。
切换JDK版本
sudo update-alternatives --config java sudo update-alternatives --config javac
根据提示输入序号即可切换版本。
移除JDK版本
若不再使用某个JDK版本,可执行:
sudo update-alternatives --remove java /usr/lib/jvm/java-8-oracle/bin/java
验证JDK更改
完成所有配置后,需全面验证JDK是否正确切换:
java -version # 查看Java版本 javac -version # 查看编译器版本 echo $JAVA_HOME # 检查JAVA_HOME路径 which java # 查看Java命令实际路径
确保所有输出均指向新安装的JDK版本,且无冲突或路径错误。
常见问题处理
- 环境变量不生效:检查配置文件路径是否正确(如区分~/.bashrc和/etc/profile),确保执行
source命令或重新登录终端。 - 权限问题:手动安装JDK时,确保安装目录及文件具有正确权限(
sudo chmod -R 755 /usr/lib/jvm/java-17-oracle)。 - 多版本冲突:若
update-alternatives切换失败,可手动删除旧版本的软链接:sudo rm /usr/bin/java,然后重新注册新版本。 - IDE识别错误:若开发工具(如IntelliJ IDEA)未识别新JDK,需在IDE设置中手动配置JDK路径,或重新导入项目。
在Linux系统中更改JDK涉及卸载旧版本、安装新版本、配置环境变量及多版本管理等多个步骤,通过合理使用包管理器和update-alternatives工具,可以高效完成版本切换,操作过程中需注意路径配置的正确性和权限设置,确保环境变量与实际安装路径一致,掌握这些技能后,开发者能够灵活应对不同项目对JDK版本的需求,提升开发环境的适配性和稳定性。



















