JDK安装后需正确配置JAVA_HOME和Path环境变量才能使用;JAVA_HOME必须指向JDK根目录(如C:\Program Files\Java\jdk-21),Path中添加%JAVA_HOME%\bin,且需验证java -version、javac -version和echo %JAVA_HOME%三者均正常。

JDK 安装完不等于 Java 就能用,JAVA_HOME 和 Path 没配对,命令行敲 java -version 一定报“不是内部或外部命令”。
怎么确认 JDK 真的装好了
别只看安装程序点完了就关。Windows 下 JDK 默认装在 C:\Program Files\Java\ 里,进去找带 jdk- 前缀的文件夹,比如 jdk-17.0.2 或 jdk-21。重点看里面有没有 bin 目录,以及 bin 里有没有 java.exe 和 javac.exe —— 这俩缺一个,后续全白搭。
- 如果只有
jre文件夹,说明你下错包了,得重下 JDK(含开发工具),不是 JRE(仅运行环境) - 如果路径里有空格(比如
Program Files),JAVA_HOME必须用英文半角双引号包裹,但Path里加进去时不能带引号 - 64 位系统装了 32 位 JDK?检查
java -version输出末尾是不是带Client VM(旧版 32 位常见),现在主流都用 64 位 JDK
JAVA_HOME 必须指向 JDK 根目录,不是 bin
JAVA_HOME 是很多工具(Maven、Tomcat、IDEA)认 JDK 的唯一依据。它值必须是 JDK 安装路径本身,比如 C:\Program Files\Java\jdk-21,而不是 C:\Program Files\Java\jdk-21\bin。
- 配成
bin路径:Maven 会直接报错The JAVA_HOME environment variable is not defined correctly - 路径末尾加不加反斜杠
\都行,但建议不加,避免某些老脚本解析出错 - 别用中文路径、桌面路径或 OneDrive 同步目录——部分 Java 工具遇到 Unicode 或云同步锁文件会静默失败
往 Path 里加的是 %JAVA_HOME%\bin,不是绝对路径
把 %JAVA_HOME%\bin 加进系统 Path,比硬写死 C:\...\jdk-21\bin 更安全。这样换 JDK 版本时,只改 JAVA_HOME 就行,Path 不用动。
立即学习“Java免费学习笔记(深入)”;
- 如果手动写了绝对路径,升级 JDK 后
java -version显示旧版本,八成是Path还挂着老路径 - 多个 JDK 共存时,
Path中%JAVA_HOME%\bin的位置很重要:它得排在其他 Java 相关路径前面,否则可能被旧版java.exe拦截 - 改完环境变量后,必须新开一个命令行窗口才能生效;旧窗口
echo %JAVA_HOME%可能还是旧值
验证是否真成功:三步缺一不可
光看 java -version 不够,还得跑 javac -version 和 echo %JAVA_HOME%。三者输出一致且无报错,才算闭环。
-
java -version输出版本号,但没报“找不到命令” →Path大概率 OK -
javac -version报错?说明Path指向的是 JRE,或者%JAVA_HOME%\bin根本没生效 -
echo %JAVA_HOME%显示空或乱码?说明变量名拼错了(比如写成JAHA_HOME),或设成了用户变量但你在系统级命令行里查
最常被忽略的是:PowerShell 默认不继承 CMD 的环境变量修改,改完记得也开个 PowerShell 测试。还有,某些终端(如 VS Code 内置终端)需要完全重启才读新变量。










