JDK两中环境变量的配置解决方案

按照网上的操作结果出现这种情况

Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'

说一下前因后果:

1:为什么要切换jdk 或者安装两个jdk版本?

    答:因为我们公司开发统一使用版本是 “jdk1.7.0_75” 而我搭建的springBootWeb项目是需要使用      jdk1.8或者以上的版本。

2:如何切换?

答 :首先你要确保你的环境变量是正常的例如我的环境变量是jdk1.7的版本如图:

        其次就是你需要修改环境变量,我这里的建议是修改JAVA_HOME的指向版本,例如1.7的你换成1.8的就行,还有些人直接加了一个JAVA_HOME1/JAVA_HOME2 然后去改CLASSPATH 中的JAVA_HOME名称,当然以上操作都是基于windows 中的环境变量 其他系统大同小异。

接下来就是,注册表中的事了,你需要找到,

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit

这个注册表的属性CurrentVersion的值改为你需要的版本例如1.7如图:



HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment

这个也一样 如上图修改对应的这个CurrentVersion属性值

最后你需要替换相对应的包,提到包 当然要知道包的位置

,将你需要的版本中的  :java.exe,javaw.exe,javaws.exe 这三个复制替换到目录

C:\Windows\System32

C:\Program Files (x86)\Common Files\Oracle\Java\javapath

C:\Windows\SysWOW64

做完这些其实这一步骤我也没明白到底是个什么鬼操作 ,反正我这三个路径都找到了之前已经存在的exe文件,切换完后基本上你已经切换成功了 可以去cmd命令窗口去试试了。

题外资料jdk配置项示例:

JAVA_HOME : C:\Program Files\Java\jdk1.7.0_75

CLASSPATH :.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar  //注意前面的点

PATH :%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;  //这里需要注意原有的系统中已经存在path路径我们只需要把jdk的这段路径放到最前面就行 别忘了最后的分隔符;

3:我们来深究一下 和这个替换exe文件是个什么鬼操作,

   由于JDK安装程序会把java.exe,javaw.exe,javaws.exe这三个可执行文件拷贝到%SystemRoot%/system32目录下,

   其中JDK1.8版本还会将以上三个可执行文件拷贝到C:\ProgramData\Oracle\Java\javapath目录下,

   且以上路径被操作系统设置为最高优先权的PATH搜索路径,因此会影响到JDK版本切换。

故需要分别删除以下目录下的三个可执行文件java.exe,javaw.exe,javaws.exe:

4题外应用

IDEA配置多JDK版本

  增加JDK版本: File --> Project Structure --> Platform Settings --> SDKs --> +

  项目更换JDK版本:File --> Project Structure --> Project Settings --> Project

四、修改Maven项目的pom.xml文件最后还需要注意,使用的JDK版本更换后,需要在Maven的pom.xml文件中修改compiler插件-source参数,改为指定的JDK版本,否则会报错:Error:java: 无效的源版本: 8报错原因是,JDK的版本与项目的要求不一致,源码编写使用的是JAVA9语法,但是pom.xml文件中却指定源码通过JDK1.8(-source 1.8)来编译。

结束了,祝工作顺利!

你可能感兴趣的:(JDK两中环境变量的配置解决方案)