0

问题是我的电脑上安装了 jdk1.6.0_45、jdk1.7.0_09。通常我使用 JDK7 作为我的工作环境,具有以下系统变量设置:

JAVA_HOME=C:\Program Files\Java\jdk1.7.0_09;
classpath=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
path=%JAVA_HOME%\bin;

当我java -version在 cmd 中执行时,它会正确显示版本:

java version "1.7.0_09"
Java(TM) SE Runtime Environment (build 1.7.0_09-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.5-b02, mixed mode)

这里我遇到一个问题,我需要为另一个项目切换到JDK6。所以我将系统变量更改JAVA_HOMEC:\Program Files\Java\jdk1.6.0_45,我认为它应该适用于新设置。但实际上不是,当我执行时java -version,它仍然显示当前使用的 jdk 是 1.7.0_09。

这可以吗?

4

1 回答 1

0

最后我发现了问题所在。在 system32 文件夹下有一个 java.exe(即 jdk7)。完整的path系统变量是path=C:\Windows\system32;%JAVA_HOME%\bin;。这意味着即使我指定了另一个版本(如 jdk6),意外的 java7 将始终是我计算机上的选定版本。它可能与一些浏览器插件/小程序一起出现。当我删除这个 java.exe 时,一切正常。

于 2013-07-05T02:14:09.837 回答