直接执行 readlink -f $(which java) 获取 java 可执行文件真实路径,再用 dirname 套两层可精准提取 jdk 安装目录;也可通过 echo $java_home、update-alternatives --list java、ls -l /usr/lib/jvm/ 或 java -xshowsettings:properties -version | grep 'java.home' 等方式确认。
直接输入 readlink -f $(which java),就能得到 java 可执行文件的真实路径,再用 dirname 套两层,就可精准提取 jdk 安装目录。
查当前 Java 的真实安装路径
多数情况下,/usr/bin/java 是个符号链接,不能直接代表 JDK 安装位置。用这一条命令一步到位:
-
readlink -f $(which java)→ 输出类似/usr/lib/jvm/java-11-openjdk-amd64/bin/java - 再套一层获取 JDK 根目录:
dirname $(dirname $(readlink -f $(which java)))→ 输出/usr/lib/jvm/java-11-openjdk-amd64
看是否已配置 JAVA_HOME
如果系统或用户已设置环境变量,这是最省事的方式:
-
echo $JAVA_HOME—— 若有输出,通常就是标准 JDK 安装路径(如/usr/lib/jvm/java-1.8.0-openjdk) - 注意:该变量未设置时会返回空,不代表 Java 没装,只是没配环境变量
查所有已安装的 JDK 版本位置
适用于多版本共存场景(如同时装了 Java 8 和 Java 17):
-
update-alternatives --list java—— 列出所有注册到 alternatives 系统的 Java 路径 -
ls -l /usr/lib/jvm/—— 大多数包管理器安装的 JDK 都放在这里,直接看有哪些子目录
通过 Java 自身参数定位
Java 运行时能主动报告它的 home 目录,无需依赖外部命令或变量:
java -XshowSettings:properties -version 2>&1 | grep 'java.home'- 输出形如
java.home = /usr/lib/jvm/java-17-openjdk-amd64,这个值就是 JDK 安装根目录
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











