将环境变量设置为Java 11目录,但CLI -> Java -version仍然是1.8?

5

我已经设置了环境变量并重新启动了cmd命令行。Javac版本已设置为11,但java版本仍然是8?

Java -version in CLI

我设置了我的路径变量如下:

my path variables

我的Path变量中没有其他Java版本的条目,就像这个问题中一样: Installed Java 14 but Java -version still showing old Java

我已经仔细检查了java.exe和javac.exe是否位于C:\ Program Files \ Java \ jdk-11.0.7 \ bin位置:

my Java 11 Folder

我已经阅读了Stackoverflow上关于这个问题的其他问题,但它们总是设置了错误的路径,忘记附加/ bin或在其环境变量中具有其他Java版本的旧路径。我还尝试重新安装Java 11并重新启动计算机(作为最后的想法)。我还能尝试什么?


在命令提示符下运行:'where java'(不包括' ') 这应该会给出Java可执行文件的路径。 - Ankit
4个回答

4
这可能是由多个不同的原因引起的。
尝试使用“where java”和“where javac”查看它们指向哪里。然后,您应该能够找到在您的环境中调用java和javac的确切路径。
还要确保在您的Path中只有一个jdk/jre。您可以尝试将%JAVA_HOME%移到Path列表中的第一个元素。

1
我还不知道Java安装在哪个位置。尽管系统变量是正确的,但路径仍然指向某种方式下的1.8版本文件夹(即使将其上移也没有任何改变)。因此,我只需卸载Java SDK 8和11然后重新安装11,现在它就可以工作了 ;) - Boommeister
是的,我忘了提到尝试卸载/重新安装。如果其他方法都无法解决问题,通常这可以修复该问题。 - Linora

3

%JAVA_HOME%\bin 移动到顶部,然后在新的cmd窗口中检查 java -version。 确保您在用户变量系统变量中都这样做。 查看此处以了解类似问题及其解决方案。


我对将“%JAVA_HOME%\bin”移动到顶部很感兴趣。这样做有什么好处?变量的顺序是否具有意义? - f.trajkovski
1
@f.trajkovski - 值从列表的顶部向底部评估。如果旧版本的 java.exe 存在于其中一个值(例如 C:\Windows\System32)之上,系统将从那里返回并且不会读取您的值。如有任何进一步疑问,请随时发表评论。 - Arvind Kumar Avinash

1

您还可以输入系统变量:

  • 点击Path
  • 编辑
  • 点击新建
  • 添加整个路径,例如:C:\Program Files\Java\jdk11.0_172\bin(这应该是您安装jdk的路径)。

这样就可以使用Java 11了。


1
只有当作者安装了完全相同的Java版本时才能运行。 - JamesB
@JamesB 是的,他需要复制它自己的路径。但在他的情况下,我认为他仍然有Java 8版本会产生冲突。他可能需要检查系统变量是否有问题。 - f.trajkovski

0

我进行了两个更改,以反映java -version为Java11

  1. 控制面板-->编辑您帐户的环境变量-->系统变量-->路径
  2. 确保%JAVAHOME%\bin应该在第一位
  3. 确保C:\Program Files\Common Files\Oracle\Java\javapath应该在第二位。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接