前面已经完成了 Ubuntu 24.04 系统初始化。本篇介绍如何在 Ubuntu 24.04 上配置JDK 17环境。Ubuntu 24.04 官方源中已经包含 OpenJDK 17,推荐使用 APT 直接安装,简单、稳定,也便于后续通过系统更新维护。
前置条件
- 已完成 Ubuntu 24.04 系统初始化;
- 已更换国内镜像源;
- 已安装
vim、curl、wget等常用工具; - 当前用户具有 sudo 权限。
查看可用 Java 版本
安装前可以先查看 Ubuntu 源中提供的 OpenJDK 版本:
aptsearch openjdk|grepjdkUbuntu 24.04 默认源中通常包含 OpenJDK 17 和 OpenJDK 21 等版本。
安装 OpenJDK 17
执行以下命令安装 JDK 17:
sudoaptupdatesudoaptinstall-yopenjdk-17-jdk如果只需要运行 Java 程序,不需要编译功能,可以安装 headless 版本,占用空间更小:
sudoaptinstall-yopenjdk-17-jre-headless但后续部署 Spring Boot 等应用时,通常建议安装完整 JDK,所以推荐直接使用openjdk-17-jdk。
验证安装结果
安装完成后,执行以下命令验证:
java-versionjavac-version正常输出类似:
openjdk version "17.0.x" OpenJDK Runtime Environment (build 17.0.x+...) OpenJDK 64-Bit Server VM (build 17.0.x+..., mixed mode, sharing)如果能看到 JDK 17 版本信息,说明安装成功。
查看 JDK 安装路径
使用 APT 安装后,JDK 通常位于/usr/lib/jvm目录下。可以通过以下命令确认实际路径:
readlink-f$(whichjava)输出通常类似:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java因此 JDK 17 的安装目录为:
/usr/lib/jvm/java-17-openjdk-amd64也可以直接查看:
ls/usr/lib/jvm/配置 JAVA_HOME 环境变量
虽然 APT 安装后java和javac命令通常可以直接使用,但很多应用,例如 Maven、Gradle、Spring Boot、Tomcat 等,仍需要正确配置JAVA_HOME。
方法一:为当前用户配置
编辑当前用户的 Bash 配置文件:
vim~/.bashrc在文件末尾添加:
exportJAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64exportPATH=$JAVA_HOME/bin:$PATH保存后执行:
source~/.bashrc验证:
echo$JAVA_HOMEjava-version方法二:为所有用户配置
如果希望所有用户都能使用相同的 Java 环境,可以编辑全局配置:
sudovim/etc/profile在文件末尾添加:
exportJAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64exportPATH=$JAVA_HOME/bin:$PATH保存后执行:
source/etc/profile方法三:使用 /etc/profile.d 独立配置
更推荐的做法是在/etc/profile.d下创建独立脚本,避免直接修改/etc/profile:
sudovim/etc/profile.d/java.sh添加:
exportJAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64exportPATH=$JAVA_HOME/bin:$PATH保存后执行:
source/etc/profile.d/java.sh这种方式更规范,也便于后续维护和卸载。
多版本 Java 管理
如果系统中同时安装了多个 Java 版本,可以使用update-alternatives进行切换。
查看当前可用版本:
sudoupdate-alternatives--configjava输出类似:
There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-21-openjdk-amd64/bin/java 2111 auto mode 1 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode 2 /usr/lib/jvm/java-21-openjdk-amd64/bin/java 2111 manual mode输入对应编号即可切换默认 Java 版本。
同样可以切换编译器版本:
sudoupdate-alternatives--configjavac编写测试程序
创建一个简单测试文件,确认 JDK 环境完全可用:
vimHello.java写入以下内容:
publicclassHello{publicstaticvoidmain(String[]args){System.out.println("JDK 17 环境配置成功");}}编译并运行:
javac Hello.javajavaHello如果输出JDK 17 环境配置成功,说明 JDK 17 环境已经可以正常使用。
常见问题
java: command not found
说明 JDK 未安装或环境变量未生效。先执行:
sudoaptinstall-yopenjdk-17-jdk再重新加载环境变量:
source~/.bashrcJAVA_HOME 为空
检查环境变量文件是否已保存,并确认是否执行了source命令。也可以重新登录终端后再次执行:
echo$JAVA_HOME安装了多个 Java 版本,版本不一致
执行:
sudoupdate-alternatives--configjavasudoupdate-alternatives--configjavac确认默认版本指向 JDK 17。
javac 找不到
说明只安装了 JRE,没有安装 JDK。需要安装完整开发套件:
sudoaptinstall-yopenjdk-17-jdk