Ubuntu系统同时安装JDK8和JDK17
一、安装前准备
打开终端 ,先更新系统包列表。
sudo apt update
二、安装JDK8和JDK17
Ubuntu 官方源中提供了 OpenJDK(开源版 JDK),这是最推荐的安装方式,无需手动配置环境变量。
安装JDK8
sudo apt install -y openjdk-8-jdk
安装JDK17
sudo apt install -y openjdk-17-jdk
三、验证安装
安装完成后,先检查是否安装成功:
# 查看 JDK 8 版本
java -version # 此时可能显示默认版本,先别急
javac -version
# 也可以直接指定路径查看对应版本
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -version
/usr/lib/jvm/java-17-openjdk-amd64/bin/java -version
四、切换默认JDK版本
Ubuntu 提供了 update-alternatives 工具,可以轻松管理系统默认的 JDK:
1.配置Java可执行文件
sudo update-alternatives --config java
执行后看到类似输出
有 2 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 自动模式
1 /usr/lib/jvm/java-8-openjdk-amd64/bin/java 1081 手动模式
2 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 手动模式
要维持当前值[*]请按回车键,或者键入选择的编号:
输入对应数字(比如想切换到JDK8就输入1),按回车即可。

2.配置Javac(编译器)
仅切换Java还不够,编译代码需要同步切换Javac:
sudo update-alternatives --config javac
操作方式和上面一样,选择对应版本的编号即可。
3.验证切换结果
java -version # 显示你选择的默认版本
javac -version
五、临时切换JDK(不修改系统默认)
如果只是临时想用某个版本(比如当前终端会话用 JDK 17,系统默认还是 JDK 8),可以直接指定路径:
# 临时使用 JDK 17
/usr/lib/jvm/java-17-openjdk-amd64/bin/java -version
# 临时使用 JDK 8
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -version
也可以通过设置环境变量临时切换(仅当前终端有效):
# 切换到 JDK 8
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
# 验证
echo $JAVA_HOME
java -version
六、手动配置JAVA_HOME(可选)
如果需要永久设置JAVA_HOME,可以编辑**/etc/profile或~./bashrc**
# 编辑用户级配置(仅当前用户生效)
nano ~/.bashrc
在文件末尾添加:
# JDK 8 路径
export JAVA_8_HOME=/usr/lib/jvm/java-8-openjdk-amd64
# JDK 17 路径
export JAVA_17_HOME=/usr/lib/jvm/java-17-openjdk-amd64
# 默认使用 JDK 8(可根据需要修改)
export JAVA_HOME=$JAVA_8_HOME
export PATH=$JAVA_HOME/bin:$PATH
保存退出(Ctrl+O → 回车 → Ctrl+X),然后生效配置:
source ~/.bashrc
评论