最可靠方式是运行java -xshowsettings:properties -version 2>&1 | grep 'java.home'获取jdk根目录;其次检查echo $java_home、追溯readlink -f $(which java)或使用/usr/libexec/java_home -v(macos)。

直接运行以下命令,就能快速查看当前 JAVA_HOME 指向的 JDK 版本:
1. 查看 JAVA_HOME 当前路径
终端输入:
echo $JAVA_HOME这会输出类似 /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/Home 的路径,说明环境变量已设置,且指向具体 JDK 安装目录。
2. 验证该路径下 JDK 的实际版本
仅看路径名可能不准(比如文件夹名含 17,但实际是手动改名的),建议用 Java 自带命令确认:
$JAVA_HOME/bin/java -version或更明确地写成:
输出示例:
java version "17.0.2"Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)
3. 对比系统默认 Java 和 JAVA_HOME 是否一致
有时 JAVA_HOME 设了,但终端里 java -version 显示的却是另一个版本——说明 shell 未优先使用 $JAVA_HOME/bin。可检查:
-
which java → 看实际调用的是哪个
java可执行文件 - java -version → 当前 shell 下默认 Java 版本
- 若两者不一致,需确保
$JAVA_HOME/bin在PATH中靠前,例如在~/.zshrc中添加:
export PATH="$JAVA_HOME/bin:$PATH"
4. 快速列出所有已安装 JDK 并标出 JAVA_HOME 所指
macOS 提供了系统级工具列出所有 JDK:
/usr/libexec/java_home -V输出中带星号 * 的那行,就是当前 /usr/libexec/java_home 命令返回的默认路径 —— 通常和 JAVA_HOME 一致(如果你是用 export JAVA_HOME=$(/usr/libexec/java_home) 设置的)。
如需切换,可临时指定:
export JAVA_HOME=$(/usr/libexec/java_home -v 11)Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











