window系统下面存在着两个JDK,可是切换环境变量以后并没有改变JDK?

以前是JDK1.8的,改变环境变量后,切换成JDK1.7,但是java -version 还是1.8
关注者
5
被浏览
1,808
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏
@echo off 
 
:init 
set JAVA_HOME_1_7=C:\Program Files\Java\jdk1.7.0_22 
set JAVA_HOME_1_6=D:\Program Files\Java\jdk1.6.0_27 
set Eclipse_EXE=D:\Tools\DEV(eclipse3.3)\eclipse.exe 
 
:start 
echo JDK 版本: 
java -version 
ping 127.0.0.1 -n 2 -w 1000 > nul 
echo. 
echo ============================================= 
echo jdk版本列表 
echo 1.7 
echo 1.6 
echo ============================================= 
 
:select
set /p opt=请选择jdk版本: 
if %opt%==1.7 ( 
  start  /I /WAIT /B wmic ENVIRONMENT where name='JAVA_HOME' set VariableValue="%JAVA_HOME_1_7%" >nul 
rem reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t reg_sz /d "%JAVA_HOME_1_7%" /f
  goto success 
) 
if %opt%==1.6 ( 
    start /I /WAIT /B wmic ENVIRONMENT where name='JAVA_HOME' set VariableValue="%JAVA_HOME_1_6%" >nul 
rem reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t reg_sz /d "%JAVA_HOME_1_6%" /f
    goto success 
) 
echo 选择的版本错误,请重新选择! 
PAUSE 
goto start 
 
:success 
echo. 
echo 设置环境变了成功. 
ping 127.0.0.1 -n 2 -w 1000 > nul 
taskkill /f /im eclipse.exe 
ping 127.0.0.1 -n 3 -w 1000 > nul 
start %Eclipse_EXE%

把这段代码保存成bat文件,然后双击运行,根据提示来。。。。

或者:

在安装JDK1.8时(本机先安装jdk1.8再安装的jdk1.7),自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级


解决方案:将C:\Windows\System32目录下的java.exe,javaw.exe,javaws.exe删除即可。开启新的命令行窗口,再执行java -version时,就得到了期望中的结果