命令提示符上的 java -version 不正确

Ume*_*til 4 java

我的机器上已经安装了 JDK 5。我已经通过安装 Java Development Kit 7 更新了 JDK。现在,我已经按照最新的 Java 设置了 Path 和 JAVA_HOME 变量。但仍然“java -version”向我展示了旧版本。

C:\>java -version
java version "1.5.0_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_07-b03)
Java HotSpot(TM) Client VM (build 1.5.0_07-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)

请查看我的环境变量的当前状态,如下所示:

C:\>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.7.0_03\

C:\>echo %Path%
C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Barclays Capital\CommonApi\bin\
;C:\Program Files\Windows Imaging\;C:\WINNT\system32\WindowsPowerShell\v1.0;C:\Program Files\Citrix\ICAService\;C:\Program Files\Citrix\Syst
em32\;C:\Program Files\Perforce;C:\Program Files\Barclays Capital\P4CustomTools;C:\Program Files\Apache Software Foundation\apache-maven-3.0
.4\bin;C:\Program Files\Common Files\Adobe\AGL;C:\Apps\oracle\product\10.2.0.3\client\bin;C:\Apps\oracle\product\10.2.0\client\BIN;C:\APPS\o
racle\client\11.2.0.3\home1\bin;C:\WINNT\system32\;C:\WINNT\;C:\WINNT\system32\Wbem;C:\Program Files\Windows Imaging;C:\Program Files\Java\j
dk1.7.0_03\bin

C:\>javac -version
javac 1.7.0_03
Run Code Online (Sandbox Code Playgroud)

我知道如何更改环境变量,并且我参考了其他有关堆栈溢出的帖子。

java -version命令返回的错误路径背后的原因应该是什么?

小智 5

安装公共JRE(由 Java 插件使用)时,还会在C:\WINNT\system32(IIRC) 中创建一个 java.exe 文件。执行的可能是这个 java 命令,因为C:\WINNT\system32JDK/bin位于 PATH 中的目录之前。

将 JDK/bin 目录放在PATH.