配置maven(apache-maven-3.3.9)時提示異常:'mvn' 不是內部或外部命令,上網查找得知 它不支持jdk1.8,所以重新安裝jdk1.7,后來就出現下面的問題
現象:
當使用安裝版本JDK后,想要更改系統環境變量時,直接更改JAVA_HOME無效
原因:
當使用安裝版本的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三個文件,把新安裝的文件拷貝過來(JAVA_HOME\bin下)
刪除Path中C:\ProgramData\Oracle\Java\javapath配置
更改注冊表(cmd->regedit)HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment的CurrentVersion值(當前安裝的jdk版本號)