Windows 10 JAVA_HOME 环境变量被忽略
Posted
技术标签:
【中文标题】Windows 10 JAVA_HOME 环境变量被忽略【英文标题】:Windows 10 JAVA_HOME environment variable ignored 【发布时间】:2021-10-15 01:25:13 【问题描述】:当我从命令行运行java -version
时,它返回jre1.8.0_91
。我在命令行中使用了 setx 并为JAVA_HOME
编辑了环境变量。命令行似乎被覆盖或忽略了环境变量。所有需要 mvn 等命令的 JDK 错误:"you must set JAVA_HOME to a jdk not a jre"
JAVA_HOME=C:\Program Files\Java\jdk-11.0.6;C:\Program Files\Java\jdk1.8.0_241
【问题讨论】:
JAVA_HOME
应该只包含单个 JDK 的路径。
【参考方案1】:
JAVA_HOME 应该只指向一个目录,不能有两个。这就是为什么您的 Maven 不起作用的原因。修复这个问题,Maven 应该可以工作了。
java -version
输出不直接相关,该命令不使用 JAVA_HOME 而是使用 PATH(但如 cmets 中所述,PATH 引用 JAVA_HOME 是可能,因此在这种情况下它们是间接相关)。
【讨论】:
在%JAVA_HOME%\bin;
前面加上PATH
是正常的做法
我没有安装 jre 11。我删除了 jdk1.8.0_241 入口路径并得到了相同的错误,然后删除了 jdk11 入口路径并替换了以前的路径,它按预期工作。如果还安装了 jre,不确定这是否适用于 jdk11。运行 java -version 确实反映了更新的 _241 构建
@g00se 是的,但通常在 PATH 之前已经有 java 的东西
@Sherum 也许你把它删错了。您还记得将;
也从 JAVA_HOME 值中删除吗?
@g00se 是的,但通常在 PATH 之前已经有一些 java 的东西 @ais 你需要更仔细地阅读我的评论,尤其是第 7 个词;) 以上是关于Windows 10 JAVA_HOME 环境变量被忽略的主要内容,如果未能解决你的问题,请参考以下文章