根本原因是系统未找到javac.exe:需安装jdk而非jre,正确设置java_home指向jdk根目录,并在path中添加%java_home%\bin,配置后重启命令行验证。

根本原因只有一个:系统找不到 javac.exe 文件,也就是 JDK 的 bin 目录没被加进系统的执行路径里。
确认你装的是 JDK,不是 JRE
JRE 只能运行 Java 程序,里面没有 javac;JDK 才包含编译器。检查你的安装目录:
- 打开文件资源管理器,进入 JDK 安装路径(比如
C:\Program Files\Java\jdk-17.0.2) - 看里面有没有
bin文件夹,点进去找javac.exe - 如果路径是
jre1.8.0_xxx或名字里带jre,说明你装错了——得重下 JDK 安装包
正确设置 JAVA_HOME 和 Path
这两步缺一不可,且顺序和写法很关键:
- 新建系统变量:JAVA_HOME,值填 JDK 根目录(例如:
D:\jdk-17),不要带\bin - 编辑系统变量 Path,新增一行:
%JAVA_HOME%\bin - 别手写完整路径(如
C:\...\jdk-17\bin),否则换版本就得全改;也别漏掉%符号
配置完必须重启命令行
旧的 CMD 窗口不会自动加载新环境变量,关掉所有黑窗口,再按 Win + R → cmd → 回车:
- 输入
echo %JAVA_HOME%,看输出是否和你设的一致 - 输入
where javac,应显示类似C:\...\jdk-17\bin\javac.exe - 再输
javac -version和java -version,两个都出版本号才算成功
常见坑点快速排查
如果还是报错,优先查这几项:
- 安装路径含中文或空格(如
Program Files)→ 建议重装到纯英文无空格路径,比如D:\jdk -
where javac显示多个结果 → 说明 PATH 里混了旧 JDK,删掉多余的bin路径 - IDE(如 IntelliJ)能编译但 CMD 不行 → 这是正常现象,IDE 不依赖系统 PATH,不用管它
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











