系统找不到java.exe的根本原因是PATH未包含JDK的bin目录;需安装完整JDK、设JAVA_HOME为JDK根目录、将%JAVA_HOME%\bin加入Path,并重启CMD验证java/javac版本。

这个问题本质是系统找不到 java.exe,不是 Java 本身出错,而是命令行环境没认出它。核心原因只有一个:Windows 的 PATH 环境变量里没有包含 JDK 的 bin 目录。
确认是否真装了 JDK(不是 JRE)
javac 命令只存在于 JDK 中,JRE 只有 java 命令。如果连 javac 都没有,说明你装的是运行环境,不是开发包。
- 去官网下载并安装完整版 JDK(如 OpenJDK 或 Oracle JDK)
- 安装路径避免中文、空格(比如不要装在 Program Files,建议用 D:\jdk17 这类纯英文无空格路径)
正确配置 JAVA_HOME 和 Path
只配 Path 不够稳定,标准做法是两步走:
- 新建系统变量:JAVA_HOME,值为 JDK 根目录(例如 D:\jdk17,不带 \bin)
- 编辑系统变量 Path,新增一行:%JAVA_HOME%\bin
验证与排错关键动作
配置完必须彻底关闭当前 CMD 窗口,再新开一个,否则旧缓存还在。
立即学习“Java免费学习笔记(深入)”;
- 输入 java -version —— 应显示版本号
- 输入 javac -version —— 也应显示版本号
- 若仍失败,运行 where java 和 where javac,看系统实际调用的是哪个路径;如果指向 C:\Windows\System32\java.exe,说明系统自带的旧 JRE 干扰了,需从 Path 中删掉它的路径
常见踩坑点
- 只配了 JAVA_HOME 没加到 Path —— 系统根本不会自动读取 JAVA_HOME 来找命令
- Path 里写了完整路径(如 D:\jdk17\bin)而不是 %JAVA_HOME%\bin —— 换 JDK 版本就得重配
- 复制粘贴时多了一个空格或全角字符 —— 导致路径无效
- 用的是 JRE 而非 JDK —— 安装包名称通常带 “jdk” 字样,不是 “jre”



















