windows 10 中设置 java_home 和 path 后,重启系统即失效,需手动点击“应用”才临时恢复——根本原因是 path 中引用了未展开的环境变量 %java_home%,而系统启动时未能正确解析该变量。
在 Windows 系统中,环境变量的解析顺序和作用域对 Java 开发环境的稳定性至关重要。你当前的配置看似合理:
JAVA_HOME = C:\Program Files\Java\jdk-17.0.5 Path = %JAVA_HOME%\bin
但问题正出在 Path 中使用了变量引用 %JAVA_HOME%\bin。虽然 Windows 支持在 Path 中嵌套引用其他环境变量,但该功能在系统级(System Variables)中存在解析延迟或初始化失败风险——尤其当 JAVA_HOME 本身是系统变量、且路径含空格(如 Program Files)时,早期启动阶段的 Shell(如 cmd.exe 或批处理执行器)可能无法可靠展开该变量,导致 java 命令不可用。
✅ 正确做法:避免在 Path 中依赖变量引用,直接使用绝对路径:
JAVA_HOME = C:\Program Files\Java\jdk-17.0.5 Path = C:\Program Files\Java\jdk-17.0.5\bin
? 提示:若需保留 JAVA_HOME 的灵活性(例如后续切换 JDK 版本),可继续保留该变量,仅将 Path 改为静态路径;或改用 PowerShell 配置脚本统一管理,但对批处理兼容性要求高的场景,静态 Path 更稳妥。
? 操作步骤(一次性永久修复):