本博主为了,同时让windows系统支持jdk1.7同时也支持jdk1.8。然后出现Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVers,错误:注册表项'Software \ JavaSoft \ Java Runtime Environment'\ CurrentVers,但是执行jdk版本查看命令,java -version 输出的是1.8版本。
解答:
看了一下环境变量的path,第一个路径是“C:\ProgramData\Oracle\Java\javapath;”,进去之后发现是几个超链接:java.exe、javaw.exe和javaws.exe,几个超链接指向了jdk1.8,然后把path的C:\ProgramData\Oracle\Java\javapath;删了。
然后可能还会不行,因为C:\Windows\System32下面还有三个文件java.exe、javaw.exe和javaws.exe,也需要删了。
分析:
应该是jdk8安装的时候会覆盖原来jdk7的注册表,并且为了方便大家使用,直接添加了环境变量,也就不需要在配置JAVA_HOME的环境变量了,所以以后安装jdk一定要先看一下,系统是否默认都给你装好了环境,避免环境与自身冲突。
如果要还原为1.7遇到如下错误
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.
按照如下步骤一般都可以解决版本冲突问题。
- 打开开始菜单,搜索regedit,打开注册表
- 打开”HKEY_LOCAL_MACHINE”
- 点击”SOFTWARE”
- 点击”JavaSoft”
- 点击”Java Runtime Environment”
- 选中”CurrentVersion” ,右键点击更改,改成”1.7”
然后可以看看问题是否解决。