window下在同一台机器上安装多个版本jdk,修改环境变量不生效问题
现象:某台Windows机器,先安装了JDK1.7,然后配置了JAVA_HOME等环境变量,随后由于项目需要又安装了JDK 1.6,同时修改了JAVA_HOME等环境变量。随后我们在命令行中输入:java -version时,发现后面安装配置的JDK1.6根本没有生效。是什么原因造成的呢?又应该如何来解决?
原因:在安装JDK1.7时(本机先安装jdk1.7再安装的jdk1.6),自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级
解决方案:将C:\Windows\System32目录下的java.exe,javaw.exe,javaws.exe删除即可。开启新的命令行窗口,再执行java -version时,就得到了期望中的结果