java_home和path中变量名必须全大写,小写或混合大小写会导致javac、maven、idea等工具无法识别;windows用echo %java_home%、linux/macos用echo $java_home验证,path中引用必须为%java_home%\bin或$java_home/bin。

大小写写错不是小问题,是环境变量解析的硬性规则。JAVA_HOME、PATH 中引用的变量名必须全大写,错一个字母或用小写,javac、Maven、IDEA 就会直接“失联”。
先确认哪里错了
打开终端(Windows 用 CMD/PowerShell,macOS/Linux 用 Terminal),执行:
- Windows:echo %JAVA_HOME% —— 看是否输出路径;如果没输出或输出空,说明变量名写成了 java_home、Java_Home 等非全大写形式
- macOS/Linux:echo $JAVA_HOME —— 如果返回空白,大概率是配置文件里写成了 $java_home 或 $Java_Home
- 再查 PATH:echo %PATH%(Win)或 echo $PATH(Mac/Linux),看里面是否含 %JAVA_HOME%\bin 或 $JAVA_HOME/bin —— 若写成 %java_home%\bin 或 $java_home/bin,java 命令仍不可用
Windows 系统怎么改
进入「系统属性 → 高级 → 环境变量」:
- 在「系统变量」里找 JAVA_HOME:如果存在但名字是 java_home 或 Java_Home,先删除它
- 点击「新建」→ 变量名严格输入:JAVA_HOME(全大写,无空格、无标点)→ 变量值填 JDK 根目录,例如:C:\dev\jdk-17(注意:不带 \bin,末尾不加反斜杠)
- 找到 Path 变量 → 编辑 → 确保其中有一项是:%JAVA_HOME%\bin(不是 %java_home%\bin)
macOS/Linux 怎么改
编辑 shell 配置文件(zsh 用户改 ~/.zshrc,bash 用户改 ~/.bash_profile 或 ~/.bashrc):
- 删掉旧的错误行,比如:export java_home=... 或 export Java_Home=...
- 添加两行标准写法(注意大小写和等号前后无空格):
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH - 保存后运行:source ~/.zshrc(或对应文件)
改完必须验证
关掉所有终端,新开一个,逐条执行:
- echo $JAVA_HOME(Mac/Linux)或 echo %JAVA_HOME%(Win)→ 应显示完整路径
- which java → 输出应含 /bin/java
- javac -version → 能正常打印版本,才算真正生效
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











