运行 javac -version 成功输出版本号说明 JDK 已安装且 PATH 正确;若失败则可能只装了 JRE 或未配置环境变量;再通过 /usr/libexec/java_home(macOS)、update-alternatives(Linux)或 where java(Windows)定位 JDK 路径,并验证 JAVA_HOME 是否指向正确根目录。

直接在终端或命令提示符里运行 java -version 和 javac -version,就能快速确认是否装了 JDK 以及它的版本号。只看 java -version 只能知道 JRE 运行环境版本,而 javac -version 才是判断 JDK 是否真正就位的关键——开发必须用到编译器。
确认 JDK 是否已安装(不只是 JRE)
很多系统预装的是 JRE,没有 javac 就无法编译 Java 代码:
- 运行
javac -version—— 成功输出(如javac 21.0.3)说明 JDK 已安装且bin目录在PATH中 - 若提示
'javac' is not recognized(Windows)或command not found(macOS/Linux),大概率只装了 JRE,或 JDK 的bin路径没加进环境变量 - 可顺带检查:
which javac(Linux/macOS)或where javac(Windows),看命令是否存在
查看当前生效的 JDK 版本与路径
不同系统有高效、原生的定位方式,不用手动翻目录或猜路径:
-
macOS:运行
/usr/libexec/java_home,直接返回默认 JDK 根目录(如/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home);加-v参数可列出所有已注册版本 -
Linux(Debian/Ubuntu 等):用
update-alternatives --list java查所有 Java 路径,再配合readlink -f $(which java)追溯真实安装目录 -
Windows:运行
where java,得到类似C:\Program Files\Java\jdk-21\bin\java.exe的路径;JDK 根目录就是该路径向上两级(去掉\bin\java.exe)
验证 JAVA_HOME 是否指向正确的 JDK
这个环境变量对 Maven、Gradle、IDE 等工具至关重要,设错会导致构建失败:
立即学习“Java免费学习笔记(深入)”;
- macOS/Linux:运行
echo $JAVA_HOME,应输出 JDK 根目录(不含/bin),例如/Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home - Windows:运行
echo %JAVA_HOME%,应为类似C:\Program Files\Java\jdk-21的路径 - 如果为空、显示
%JAVA_HOME%字面量,或指向 JRE 目录(如...\jre),说明未设置或设置错误
补充:用 JVM 自身属性反查安装位置
当其他方法受限时,可借助 Java 自带参数获取运行时路径:
- 执行
java -XshowSettings:properties -version 2>&1 | grep "java.home"(Linux/macOS) - 或
java -XshowSettings:properties -version 2>&1 | findstr "java.home"(Windows) - 输出的
java.home值通常是 JRE 子目录(如.../jdk-21/jre),JDK 根目录即为其上级目录


















