找不到javac的本质是环境变量未正确配置,需确认安装JDK而非JRE,设置JAVA_HOME指向JDK根目录,并在Path中添加%JAVA_HOME%\bin,重启命令行后用where javac和javac -version验证。

找不到 javac 的问题,本质是系统找不到编译器可执行文件,不是 JDK 没装好,而是环境变量没配对或没生效。
确认装的是 JDK,不是 JRE
JRE 只能运行 Java 程序,里面没有 javac.exe;JDK 才包含编译器。检查安装目录:
- 打开文件资源管理器,进入你认为的 JDK 安装路径(例如:C:\Program Files\Java\jdk-17.0.2)
- 看目录下是否有 bin 文件夹,点进去找 javac.exe
- 如果路径里含 jre(比如 jre1.8.0_301),说明装错了——必须重下 JDK 安装包
正确设置 JAVA_HOME 和 Path
这两步缺一不可,顺序和写法很关键:
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 新建系统变量:JAVA_HOME,值填 JDK 根目录(例如:D:\jdk-17),不要带 \bin,也不要加引号
- 编辑系统变量 Path,新增一行:%JAVA_HOME%\bin
- 别手写完整路径(如 C:\jdk-17\bin),否则换版本就得全改;也别漏掉 % 符号
配置后必须重启命令行再验证
旧的 CMD 窗口不会自动加载新环境变量,关掉所有黑窗口,再操作:
立即学习“Java免费学习笔记(深入)”;
- 按 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,不用管它


















