一、准备
1. 已安装 jdk1.6.0_43(安装位置:C:\Program Files\Java\jdk1.6.0_43)
2. 准备安装 jdk1.8.0_131(安装位置:D:\Program Files\Java\jdk1.8.0_131)
二、安装 jdk1.8.0_131
安装前没注意到这个路径是否存在,网上有资料说是JDK改版之后自动生成的环境变量,先记下这个变量(当作为 :
变量A)
三、配置环境变量
1.修改JAVA_HOME(系统变量)
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_43
## 把上面的系统变量修改成下面三个系统变量
JAVA_HOME6=C:\Program Files\Java\jdk1.6.0_43
JAVA_HOME8=D:\Program Files\Java\jdk1.8.0_131
## 指向所需的JDK版本
JAVA_HOME=%JAVA_HOME8%
2.修改JRE_HOME(系统变量)
JRE_HOME=C:\Program Files\Java\jdk1.6.0_43\jre
## 把上面的系统变量修改成下面三个系统变量
JRE_HOME6=C:\Program Files\Java\jdk1.6.0_43\jre
JRE_HOME8=D:\Program Files\Java\jdk1.8.0_131\jre
## 指向所需的JDK版本
JRE_HOME=%JRE_HOME8%
3.暂不需要修改的Path(系统变量)
C:\ProgramData\Oracle\Java\javapath ##变量A
%JAVA_HOME%\bin
%JAVA_HOME%
%JRE_HOME%
4.不需要修改的CLASS_PATH(用户变量)
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet.jar5.不需要修改的Path(用户变量)
%JAVA_HOME%\bin
四、测试
环境1 JAVA_HOME=%JAVA_HOME8%,变量A存在:

运行结果:
java、javac都是1.8.0_131版本

环境2 JAVA_HOME=%JAVA_HOME6%,变量A存在:

运行结果:
java是1.8.0_131版本、javac是1.6.0_43版本

环境3 JAVA_HOME=%JAVA_HOME6%,变量A不存在:

运行结果:
java、javac都是1.6.0_43版本

五、猜测
1.变量A是自动生成的,并且指向最后安装的jdk版本;
2. 从网上找到资料说:
由于在WINDOWS\System32环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,故如果只修改环境变量JAVA_HOME,jdk的版本并不会切换。
因此猜测 变量A等价于WINDOWS\System32的环境变量,修改JAVA_HOME只会修改javac的版本,需要删掉变量A才能正确使用JAVA_HOME的环境变量,才能切换java版本。
529

被折叠的 条评论
为什么被折叠?



