JAVA_HOME必须指向JDK根目录(不含bin),且路径严禁含空格或中文;否则Maven、Tomcat、IDEA等工具启动失败。需通过java -version和javac -version双重验证版本一致性。

JAVA_HOME 要指向 JDK 的安装根目录(不是 bin 目录),且路径中不能包含空格或中文,否则很多工具(如 Maven、Tomcat、IDEA)会启动失败。
确认已安装 JDK 并找到真实路径
别用 JRE,必须是 JDK(含 javac 命令)。在终端运行:
java -version # 看是否能输出版本 which java # 查看 java 执行文件位置(比如 /usr/lib/jvm/java-17-openjdk-amd64/bin/java)
然后往上退一级或两级,找到包含 bin、lib、jre 的那个父目录 —— 这才是 JAVA_HOME 应设的路径。例如:
- macOS:/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
- Windows:C:\Program Files\Java\jdk-17.0.1
- Linux(手动安装):/opt/jdk-17.0.1
在系统中设置 JAVA_HOME
根据操作系统,在对应配置文件中添加(注意等号前后无空格):
-
macOS/Linux(bash/zsh):编辑 ~/.zshrc 或 ~/.bash_profile,加一行:
export JAVA_HOME=/path/to/your/jdk
然后执行source ~/.zshrc生效 -
Windows:右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”里新建变量:
变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk-17.0.1(注意用反斜杠,且不要带 bin)
验证是否设置成功
新开一个终端(Windows 是新命令行窗口),运行:
echo $JAVA_HOME # macOS/Linux echo %JAVA_HOME% # Windows java -version javac -version
如果 echo 输出了你设置的路径,且 javac -version 能正常显示,说明设置正确。若报 “command not found” 或版本不一致,检查 PATH 是否也包含了 $JAVA_HOME/bin(通常建议加上):
- macOS/Linux:
export PATH=$JAVA_HOME/bin:$PATH - Windows:在“Path”变量中新增
%JAVA_HOME%\bin
常见错误提醒
- 把 JAVA_HOME 设成
.../bin目录 → 工具找不到 lib/tools.jar 等关键文件 - 路径含空格(如
Program Files)又没加引号 → 多数脚本解析失败(Windows 推荐用Progra~1短路径,macOS/Linux 建议重装到无空格路径) - 改完不重启终端或 IDE → 设置未加载,需新开窗口或重启开发工具
- 同时装了多个 JDK 却设错了版本 → 用
java -version和javac -version双重核对
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











