JAVA_HOME必须指向JDK根目录(不含bin),Path中仅保留%JAVA_HOME%\bin且置顶;修改后须重启所有终端和IDE才能生效。

检查 JAVA_HOME 是否指向正确 JDK 安装路径
Path 配置错误常源于 JAVA_HOME 本身就不对。Windows 下常见误设为 JRE 路径(如 C:\Program Files\Java\jre1.8.0_301),或指向了 JDK 的 bin 子目录(如 C:\Program Files\Java\jdk-17.0.1\bin)。正确值应是 JDK 根目录,不含 bin:
C:\Program Files\Java\jdk-17.0.1
验证方式:在命令行执行 echo %JAVA_HOME%,再手动进入该路径确认是否存在 bin\javac.exe。
Path 中是否重复或错误添加了 JDK bin 目录
系统变量 Path 里只需包含 %JAVA_HOME%\bin,**不要**再单独写死完整路径(如 C:\Program Files\Java\jdk-17.0.1\bin),否则 JAVA_HOME 变更后会失效;也**不要**同时存在多个 JDK 的 bin 条目,容易导致 java 和 javac 版本不一致。
修复建议:
立即学习“Java免费学习笔记(深入)”;
- 删除所有显式写死的 JDK
bin路径 - 确保只有一条
%JAVA_HOME%\bin - 该条目必须放在
Path列表靠前位置(避免被其他 Java 工具覆盖)
验证时用 java -version 和 javac -version 分别检查
仅运行 java -version 成功不代表编译环境就 OK —— 很多 IDE 或构建工具依赖 javac。常见错误现象:
-
java -version输出正常,但javac -version报 “不是内部或外部命令” →Path没包含%JAVA_HOME%\bin,或JAVA_HOME指向了 JRE - 两个命令输出版本号不一致 →
Path中混入了多个 JDK 的bin,且顺序导致调用错位 - 命令行能用,IDE(如 IntelliJ、Eclipse)仍报 JDK not found → IDE 未继承系统环境变量,需在 IDE 设置中显式指定
JDK home
修改后必须重启命令行或终端进程
Windows 下修改系统环境变量后,已打开的 CMD/PowerShell/IDE 终端**不会自动更新** Path。常见疏漏:
- 改完变量点“确定”,直接在旧窗口敲
java -version→ 仍显示旧结果 - 重启 CMD 但没关掉 IDE → IDE 内嵌终端仍用旧环境
务必关闭所有终端和 IDE,再新开一个 CMD 运行验证。若用 VS Code,还需重启整个编辑器(不只是集成终端)。










