核心是确认JAVA_HOME指向JDK根目录且PATH包含%JAVA_HOME%\bin或$JAVA_HOME/bin;需新开终端验证,java和javac版本号须一致,路径前缀应相同。

检查Java环境变量中的系统变量,核心是确认 JAVA_HOME 和 PATH 是否正确设置并生效,尤其要区分“已设置”和“已生效”的差别。
查看 JAVA_HOME 系统变量值
该变量必须指向 JDK 安装根目录(如 C:\Program Files\Java\jdk-17.0.1 或 /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home),不能带 \bin 或 /jre。
-
Windows(命令提示符):
echo %JAVA_HOME%—— 若无输出或路径错误,说明未配置或配置有误 -
Windows(PowerShell):
[Environment]::GetEnvironmentVariable('JAVA_HOME', 'Machine')—— 明确读取系统级变量,排除用户变量干扰 -
macOS/Linux:
echo $JAVA_HOME—— 注意大小写敏感,java_home不等于JAVA_HOME
确认 PATH 中是否包含 JDK 的 bin 目录
仅设了 JAVA_HOME 不代表命令可用;PATH 必须包含 %JAVA_HOME%\bin(Windows)或 $JAVA_HOME/bin(macOS/Linux),否则 java 和 javac 命令无法识别。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
- Windows:运行
echo %PATH%,查找是否存在类似C:\Program Files\Java\jdk-17.0.1\bin的完整路径 - macOS/Linux:运行
echo $PATH,检查输出中是否含$JAVA_HOME/bin展开后的实际路径 - 更直接方式:执行
where java(Windows)或which java(macOS/Linux),看返回路径是否落在 JDK 的bin目录下
验证系统变量是否真正生效
环境变量修改后,需新开终端窗口才能加载——已打开的命令行不会自动更新。
立即学习“Java免费学习笔记(深入)”;
- 关闭所有 cmd/PowerShell/Terminal,重新打开再执行检查命令
- 若用 IDE(如 IntelliJ、Eclipse),需重启 IDE,因其启动时读取环境变量,不随系统动态刷新
- 在 Windows 中,可通过任务管理器 → 启动新任务 → 勾选“以管理员身份创建此任务”来确保继承最新系统变量(尤其当 JDK 装在
Program Files时)
交叉验证关键工具是否一致调用同一 JDK
避免 PATH 中混入多个 JDK 导致命令版本错乱。
- 运行
java -version和javac -version,两者的主版本号应完全一致(如都是 17.0.1) - 运行
where java和where javac(Windows)或which java && which javac(macOS/Linux),确认两者路径前缀相同 - 若不一致,说明 PATH 中存在多个 JDK 的
bin目录,需清理冗余条目,保留唯一有效路径

















