java -version不显示JAVA_HOME的值

时间:2013-09-18 13:51:05

标签: java

我已经安装了jdk 7并为此版本设置了“JAVA_HOME”。然后,我已经安装了jdk 6并且我已经更新了“JAVA_HOME”以指向jdk 6.关闭并重新打开系统后,当输入“java -version”时,我总是得到:

java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode, sharing)

但是,在输入时

echo %JAVA_HOME%

我得到了:

C:\Program Files\Java\jdk1.6.0_45

我不明白为什么java -version不显示“JAVA_HOME”的值

5 个答案:

答案 0 :(得分:2)

Java 7将java.exe放在c:\ windows \ system32中。您可以尝试删除这些exe,但我不确定Windows是否会允许它,或者在重启后恢复它。

如果要覆盖它,必须将%JAVA_HOME%\ bin作为第一个条目放在PATH中,然后再放在c:\ windows \ system32。

答案 1 :(得分:0)

运行java -version时,哪个java启动取决于PATH env变量,而不是JAVA_HOME。操作系统将寻找与任何其他程序一样的java.exe(Windows)

答案 2 :(得分:0)

如果在命令窗口上运行java,它将从PATH变量中获取java。 JAVA_HOME用于我的maven等......

答案 3 :(得分:0)

我相信您的PATH变量指向JAVA版本1.7.0_40/bin目录。

答案 4 :(得分:0)

根据我的理解,这与您的JAVA_HOME环境变量无关。您从C:\windows\system32\java.exe获得了Java版本。

如果您不想要这种行为,那么在系统变量部分中将%JAVA_HOME%\ bin作为起始元素(当然您应该拥有JAVA_HOME)。 (我想添加图片,但我没有足够的声誉这样做:()