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时,就得到了期望中的结果