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

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

jdk7与jdk8环境共存与切换-LMLPHP

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

jdk7与jdk8环境共存与切换-LMLPHP

4,最后发现其实在安装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与jdk8环境共存与切换-LMLPHP

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

C:\Users\wcd>java -version
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.

jdk7与jdk8环境共存与切换-LMLPHP

 然后可能还会不行,因为C:\Windows\System32下面还有三个文件java.exe、javaw.exe和javaws.exe,也需要删了。

分析:

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

jdk7与jdk8环境共存与切换-LMLPHP

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

jdk7与jdk8环境共存与切换-LMLPHP

现在我们在切换为jdk8

jdk7与jdk8环境共存与切换-LMLPHP

jdk7与jdk8环境共存与切换-LMLPHP

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

05-17 18:28