在CentOS系统中安装多个JDK版本是开发环境中常见的需求,尤其需要在不同项目间切换Java版本时,以下是详细的安装与配置步骤,帮助您轻松管理多个JDK版本。

准备工作
在开始安装前,建议确保系统已更新至最新状态,通过运行sudo yum update -y命令,可以安装所有可用的系统更新,避免潜在的兼容性问题,建议关闭SELinux或将其设置为宽松模式,以减少权限干扰,执行sudo setenforce 0即可临时关闭。
下载JDK安装包
访问Oracle官网或OpenJDK官网,下载所需的JDK版本,下载JDK 8和JDK 11的Linux x64 RPM包,使用wget命令直接下载,
wget https://download.oracle.com/java/8/jdk-8u291-linux-x64.rpm
wget https://download.oracle.com/java/11/latest/jdk-11.0.13_9-linux-x64.rpm
将下载的文件保存在/opt目录下,便于集中管理。
安装JDK
使用yum或rpm命令安装JDK,以yum为例,执行以下命令:
sudo yum localinstall jdk-8u291-linux-x64.rpm -y
sudo yum localinstall jdk-11.0.13_9-linux-x64.rpm -y
安装完成后,通过rpm -qa | grep java命令验证安装是否成功,会显示已安装的JDK包名。
配置环境变量
多个JDK版本共存时,需通过环境变量指定默认版本,编辑/etc/profile文件,添加以下内容:

export JAVA_HOME=/usr/java/jdk-11.0.13_9-amd64 export PATH=$JAVA_HOME/bin:$PATH
保存后,执行source /etc/profile使配置生效,若需切换默认JDK,只需修改JAVA_HOME路径即可。
验证安装
通过java -version命令检查当前默认JDK版本,若需切换版本,可使用alternatives工具管理,执行sudo alternatives --config java,选择所需的JDK版本,类似地,可通过sudo alternatives --config javac管理Java编译器版本。
管理多个JDK
为避免环境变量冲突,建议为每个JDK版本创建独立的环境变量脚本,在/etc/profile.d/目录下创建jdk8.sh和jdk11.sh文件,分别设置对应的环境变量,这样,可通过source /etc/profile.d/jdk8.sh临时切换版本。
常见问题排查
若出现java: command not found错误,可能是环境变量未正确配置,检查/etc/profile或~/.bash_profile文件中的PATH变量是否包含$JAVA_HOME/bin,若alternatives工具无法识别JDK,需手动注册JDK路径,
sudo alternatives --install /usr/bin/java java /usr/java/jdk-11.0.13_9-amd64/bin/java 2

FAQs
-
如何彻底卸载某个JDK版本?
答:使用yum remove命令卸载JDK,例如sudo yum remove java-1.8.0-openjdk -y,若通过RPM包安装,可执行sudo rpm -e jdk-8u291-linux-x64.rpm,卸载后,建议清理残留的配置文件。 -
如何查看系统已安装的所有JDK版本?
答:可通过rpm -qa | grep java列出所有已安装的Java相关包。ls -l /usr/java/命令可显示所有JDK安装目录,帮助确认版本信息。