1.問題:
以前安裝過安裝版(jdk1.7.0_51.msi)的jdk後,配置過環境變量,然後現在更換jdk版本且修改環境變量並不能生效,如原本安裝了1.7,現更換爲1.8,且配置了環境變量,但是java -version仍顯示1.7。
2.原因:
當使用安裝版本的JDK程序時(一般是1.7版本以上),在安裝結束後安裝程序會自動將java.exe、javaw.exe、javaws.exe三個可執行文件複製到C:\Windows\System32目錄,這個目錄在WINDOWS環境變量中(%SystemRoot%\system32)的優先級高於JAVA_HOME設置的環境變量優先級,因此,直接更改JAVA_HOME會無效。另外,JDK1.7安裝版本,還會在C:\ProgramData\Oracle\Java目錄中生成一些配置文件,並同時將此目錄寫到環境變量中的Path中。
3.解決辦法:
刪除C:\Windows\System32目錄下的java.exe、javaw.exe、javaws.exe三個文件
刪除環境變量Path中C:\ProgramData\Oracle\Java\javapath的配置(重新配置Java環境變量即可)