win7 系統,同時安裝了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 ,一切正常