解决win7 安装完jdk7后,再安装jdk8出现的问题 has value '1.8', but '1.7' is required.

http://blog.csdn.net/qiyueqinglian/article/details/46605759

电脑装了jdk8,JAVA_HOME也是设置的8. 
不删除8变回7. 
改了JAVA_HOME,并且path值里的C:\ProgramData\Oracle\Java\javapath也删了 
运行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.

solution 
1. 打开开始菜单,搜索regedit,打开注册表 
2. 打开”HKEY_LOCAL_MACHINE” 
3. 点击”SOFTWARE” 
4. 点击”JavaSoft” 
5. 点击”Java Runtime Environment” 
6. 选中”CurrentVersion” ,右键点击更改,改成”1.7” 
问题解决了

 

按上面的修改,cmd中输入java -version还是显示1.7版本

 

http://www.cnblogs.com/weicleer/p/4273278.html

本人win7 x64旗舰版,同时安装了JDK7和JDK8,卸载了JDK8之后,cmd命令行输入:java -version ,本以为显示java版本1.7,结果弹错:has value '1.7',but '1.8' is required.

 

我查看JAVA_HOME,环境变量,发现也没有问题,指向的是C:\Java\jdk1.7.0

解决方法:

由于安装完JDK7之后,安装了JDK8,因为在安装JDK1.8时,自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:\Windows\System32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。

明白这个后,就知道出错原因了,虽然卸载了JDK1.8,但C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个可执行文件还是JDK1.8的,所以把JDK1.7的JAVA_HOME\bin下的这三个对应可执行文件复制覆盖到C:\Windows\System32目录下,此时再在cmd命令行输入:java -version ,一切正常。

 

我出现的情况正好跟他相反,所以我把jdk8的几个文件替换掉覆盖到C:\Windows\System32目录下就可以了。

按上面的修改,cmd中输入java -version显示1.8版本

posted @ 2016-05-30 13:03  胜强  阅读(9811)  评论(1编辑  收藏  举报