电脑装了jdk8,JAVA_HOME也是设置的8.
不删除8变回7.
改了JAVA_HOME,并且path值里的C:ProgramDataOracleJavajavapath也删了
运行java -version,报错
Error: Registry key ‘SoftwareJavaSoftJava 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:Javajdk1.7.0
解决方法:
由于安装完JDK7之后,安装了JDK8,因为在安装JDK1.8时,自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到了C:WindowsSystem32目录,由于这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级。
明白这个后,就知道出错原因了,虽然卸载了JDK1.8,但C:WindowsSystem32目录下的java.exe、javaw.exe、javaws.exe三个可执行文件还是JDK1.8的,所以把JDK1.7的JAVA_HOMEin下的这三个对应可执行文件复制覆盖到C:WindowsSystem32目录下,此时再在cmd命令行输入:java -version ,一切正常。
我出现的情况正好跟他相反,所以我把jdk8的几个文件替换掉覆盖到C:WindowsSystem32目录下就可以了。
按上面的修改,cmd中输入java -version显示1.8版本