java_home必须设为jdk安装根目录(如c:\program files\java\jdk-17.0.2),不可包含\bin或\java.exe;path中再添加%java_home%\bin以确保java和javac命令可用。

JDK 路径要写到 bin 目录的上一级目录,也就是 JDK 的安装根目录。
比如你安装的是 JDK 17,实际路径是:
C:\Program Files\Java\jdk-17.0.2
那么环境变量 JAVA_HOME 就应该设为:
C:\Program Files\Java\jdk-17.0.2
而不是:
❌ C:\Program Files\Java\jdk-17.0.2\bin
❌ C:\Program Files\Java\jdk-17.0.2\bin\java.exe
JAVA_HOME 设置要点
这是最关键的环境变量,必须指向 JDK 安装根目录(不含 bin):
- Windows 上推荐用双引号包裹含空格的路径,例如:
"C:\Program Files\Java\jdk-17.0.2" - Linux/macOS 路径一般不含空格,直接写:
/usr/lib/jvm/jdk-17.0.2 - 不要包含
\bin或/bin,否则后续javac命令会找不到
Path 中怎么加 JDK
在 `Path`(Windows)或 `PATH`(Linux/macOS)里添加的是 bin 目录,不是 JDK 根目录:
- Windows:追加
%JAVA_HOME%\bin(推荐)或绝对路径如C:\Program Files\Java\jdk-17.0.2\bin - Linux/macOS:在
~/.bashrc或~/.zshrc中添加export PATH=$JAVA_HOME/bin:$PATH
验证是否设置成功
打开新终端(重要:旧终端不读新环境变量),运行:
-
echo %JAVA_HOME%(Windows)或echo $JAVA_HOME(Linux/macOS)→ 应显示 JDK 根路径 -
java -version→ 显示版本信息 -
javac -version→ 显示编译器版本(能运行说明bin已正确加入 Path)
常见错误提醒
容易出错的地方:
- JDK 和 JRE 混淆:确保选的是 JDK(含
javac),不是仅含java的 JRE - 复制路径时多了一个反斜杠或空格,比如
C:\Program Files\Java\jdk-17.0.2\(末尾 \ 可能导致异常) - 修改后没重启命令行/终端,导致变量未生效
- 同时装了多个 JDK,但
Path中其他 Java 路径排在前面,优先调用了旧版本
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











