0

我已经安装了 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”的值

4

5 回答 5

2

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

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

于 2013-09-18T14:25:37.230 回答
0

据我了解,这与您的 JAVA_HOME 环境变量无关。您正在从C:\windows\system32\java.exe.

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

于 2013-09-18T15:01:26.170 回答
0

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

于 2013-09-18T13:53:56.920 回答
0

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

于 2013-09-18T13:53:58.603 回答
0

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

于 2013-09-18T13:54:18.133 回答