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