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版本