按照网上的操作结果出现这种情况
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)来编译。
结束了,祝工作顺利!