java_home变量值末尾绝对不能加分号,正确写法为jdk根目录完整路径(如c:\program files\java\jdk-17.0.2),结尾无空格、反斜杠或分号;path和classpath内部可用分号分隔路径,但仅限变量值内部。
不需要,java_home 变量值末尾绝对不能加分号。
这是最容易出错、也最常被忽略的细节。加了分号会导致很多工具(如 Maven、Gradle、Tomcat)读取路径失败,报错类似:
The JAVA_HOME environment variable is not defined correctly JAVA_HOME should point to a JDK not a JRE
JAVA_HOME 路径怎么写才正确?
✅ 正确写法(以 JDK 安装在
C:\Program Files\Java\jdk-17.0.2为例):C:\Program Files\Java\jdk-17.0.2
(结尾无空格、无反斜杠\、更不能有分号)❌ 错误写法举例:
C:\Program Files\Java\jdk-17.0.2;→ 分号导致变量解析失败C:\Program Files\Java\jdk-17.0.2\→ 结尾反斜杠虽不总报错,但部分脚本会误判为无效路径C:\Program Files\Java\jdk-17.0.2\bin→ 指向了 bin 目录,不是 JDK 根目录(违反“指向 JDK 不是 JRE”的原则)
那 PATH 和 CLASSPATH 呢?分号用在哪?
PATH 中必须用分号分隔多个路径,比如:
%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;C:\some\other\tool\binCLASSPATH 开头要带
.;(点+分号),表示包含当前目录,例如:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar但注意:这些分号是用在变量值内部作为分隔符,不是加在 JAVA_HOME 本身末尾。
小贴士:验证是否配对
打开命令提示符,运行:
echo %JAVA_HOME%
输出应严格等于你设置的 JDK 根目录路径,且末尾没有空格或符号。
再运行:
javac -version
能正常打印版本号,说明 %JAVA_HOME%\bin 已被 PATH 正确引用。
不复杂但容易忽略
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











