我已经安装了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”的值
答案 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)。 (我想添加图片,但我没有足够的声誉这样做:()