【JDK】JDK7与JDK8环境共存与切换:先安装jdk7,配置好环境变量后再安装jdk8

1、先安装JDK7

下载jdk-7u79-windows-i586.exe,安装后配置好环境变量JAVA_HOME,CLASSPATH,PATH

java -version

javac

指令都正常

2、再安装JDK8

下载jdk-8u131-windows-i586.exe

3、测试当前jdk环境

此时在命令提示符中执行java -version,会显示1.8.0_131的版本信息

【JDK】JDK7与JDK8环境共存与切换:先安装jdk7,配置好环境变量后再安装jdk8

可是JAVA_HOME明明指向的是1.7.0_79,在百度上搜了一下,有人教修改注册表,有人教在控制面板下的【Java控制面板】修改配置,无一解决。

  最后发现其实在安装jdk8的时候,安装过程中会在系统变量Path的最前面加上了C:\ProgramData\Oracle\Java\javapath;,这是安装jdk8的时候带出来的,并且在Path的最前面,所以无论修改注册表还是Java控制台都没有用,执行的指令在系统变量中搜寻命令时最先找到的就是C:\ProgramData\Oracle\Java\javapath;,始终是jdk8的。那么,我们需要把Path最前面的C:\ProgramData\Oracle\Java\javapath;删除,这样才能对JAVA_HOME修改来切换需要的jdk环境。

例如我的环境变量配置:切换JDK7与8只需要更改JAVA_HOME的值就可以

【JDK】JDK7与JDK8环境共存与切换:先安装jdk7,配置好环境变量后再安装jdk8

改为上面配置仍然报错:

C:\Users\Administrator>java
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
has value '1.8', but '1.7' is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.

原因是C:\Windows\System32目录下有三个文件java.exe,javaw.exe和javaws.exe.将这三个文件删掉即可。

上一篇:理解和使用ThreadLocal类


下一篇:安装与卸载JDK8