事情是我在我的电脑上安装了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;
当我在cmd中执行java -version
时,它会正确显示版本:
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_HOME
更改为C:\Program Files\Java\jdk1.6.0_45
,我认为它应该适用于新设置。但事实上并非如此,当我执行java -version
时,它仍然显示当前使用的jdk是1.7.0_09。
这样好吗?
答案 0 :(得分:0)
最后我发现了问题所在。
system32文件夹下有一个java.exe(即jdk7)。
完整的path
系统变量为path=C:\Windows\system32;%JAVA_HOME%\bin;
。这意味着意外的java7将永远是我计算机上的选定版本,即使我已经指定了另一个版本(如jdk6)。它可能附带一些浏览器插件/小程序。当我删除这个java.exe时,一切都很顺利。