1. 更新软件源缓存
bash
sudo apt update
2. 直接安装 JDK17 完整开发包
bash
sudo apt install openjdk-17-jdk -y
3. 验证安装
bash
java -version
javac -version
正常输出示例:
openjdk version "17.0.12" 2024-07-16 LTS
OpenJDK Runtime Environment (build 17.0.12+7-LTS-1)
OpenJDK 64-Bit Server VM (build 17.0.12+7-LTS-1, mixed mode, sharing)
4. 多JDK切换(JDK8 / JDK11 / JDK17 共存)
4.1 全局切换 java 运行版本
bash
sudo update-alternatives --config java
终端会列出所有已安装JDK,输入序号回车切换默认运行环境。
4.2 同步切换 javac 编译器(必须执行,否则编译版本错乱)
bash
sudo update-alternatives --config javac
5. 启动Jar包时单独指定JDK(推荐,不改动全局默认)
你的项目是JDK8编译,优先用JDK8运行;测试新项目再用JDK17:
bash
# JDK8 运行业务jar
/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java -jar data-convert.jar
# JDK17 测试高版本项目
/usr/lib/jvm/java-17-openjdk-amd64/bin/java -jar new-project.jar
6. 永久设置终端默认JDK
编辑环境变量文件:
bash
nano ~/.bashrc
文件末尾添加(注释切换版本):
bash
# 默认JDK8
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
# 如需默认JDK17,注释上面一行,放开下面
# export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin
生效配置:
bash
source ~/.bashrc
补充说明
- Ubuntu20.04 官方原生源自带 JDK8/11/17,无需添加第三方源,安全稳定;
- JDK21、JDK26 官方源不存在,需要额外第三方仓库安装;