windows用分号、linux/macos用冒号作为环境变量路径分隔符;java_home为单路径无需分隔;配置后需用echo验证符号正确性,并通过java -version确认生效。

分号和冒号在Java环境变量配置中不是Java语言本身的符号,而是操作系统用来分隔路径的**分隔符**,关键看你在哪个系统上操作。
Windows 系统用分号(;)
所有路径相关的环境变量(如 PATH、CLASSPATH)都必须用英文半角分号分隔。例如:
- PATH:`C:\Program Files\Java\jdk-17\bin;C:\maven\bin;C:\git\cmd`
- CLASSPATH:`.;C:\myproject\lib\utils.jar;C:\myproject\classes`
注意:点号(.)表示当前目录,它和后面路径之间也要用分号隔开;如果混入中文分号、全角符号或空格,会导致命令识别失败——这是初学者最常踩的坑。
Linux/macOS 系统用冒号(:)
在终端中修改 /etc/profile 或 ~/.bashrc 时,所有路径分隔必须用英文半角冒号。例如:
- PATH:`/usr/lib/jvm/java-17-openjdk-amd64/bin:/opt/maven/bin:$PATH`
- CLASSPATH:`.:/home/user/myapp/lib/utils.jar:/home/user/myapp/classes`
写错成英文分号(;)会直接导致整个 PATH 失效——因为 shell 把分号当作命令结束符,后续内容被忽略。
JAVA_HOME 本身不用分隔符
JAVA_HOME 是单个路径,不涉及分隔问题,只须确保它指向 JDK 的根目录(不是 bin 子目录):
- Windows 示例:
JAVA_HOME=C:\Program Files\Java\jdk-17 - Linux 示例:
JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
它的值会被其他变量(如 %JAVA_HOME%\bin 或 $JAVA_HOME/bin)引用,所以路径中不能有空格(Windows 下建议用不含空格的安装路径,或用短路径名如 C:\jdk17 避免引号问题)。
验证是否写对了分隔符
配置完后,别急着编译代码,先做两件事:
- Windows:打开新命令提示符,运行
echo %PATH%和echo %CLASSPATH%,检查输出里全是英文分号,且没有乱码或中文标点 - Linux/macOS:运行
echo $PATH和echo $CLASSPATH,确认路径之间是英文冒号,没混入分号或换行 - 统一验证:
java -version和javac -version都能正常输出,才算分隔符和路径整体正确
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











