jdk7与jdk8环境共存与切换

Posted hahajayou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jdk7与jdk8环境共存与切换相关的知识,希望对你有一定的参考价值。

1,先安装jdk7,配置环境变量JAVA_HOME,然后安装jdk8。

2,安装jdk8后,JAVA_HOME指向未做修改,执行java -version显示还是以前的jdk7版本信息,

技术图片

 

3,接下来我们配置环境变量JAVA_HOME,发现配置jdk7的路径,或者配置jdk8的路径 ,或是乱写一个路径 还是一样显示jdk8, java -version.

技术图片

 

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

技术图片

 

删除之后在执行 java -version 会出现如下错误

C:Userswcd>java -version
Error: Registry key ‘SoftwareJavaSoftJava 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:WindowsSystem32下面还有三个文件java.exe、javaw.exe和javaws.exe,也需要删了。

        分析:

        应该是jdk8安装的时候会覆盖原来jdk7的注册表,并且为了方便大家使用,直接添加了环境变量,也就不需要在配置JAVA_HOME的环境变量了,只是好多人不知道,所以在此记载一下。

 

 

技术图片

 把红框框中的删除再执行 java -version,就可以了。

技术图片

 

现在我们在切换为jdk8

技术图片

技术图片

 

5,这样就可以多jdk环境进行切换了。

以上是关于jdk7与jdk8环境共存与切换的主要内容,如果未能解决你的问题,请参考以下文章

win环境下jdk7与jdk8共存问题

jdk8与jdk9的共存

Android Automotive开发之一《环境: JDK7&JDK8切换 》

JDK7与JDK8中HashMap的实现

关于Jdk7与Jdk8对Collections进行分组的区别

环境变量配置为jdk8,显示的java版本为jdk7