在工作中兩次遇到jdk配置上的這個問題:將環境變量中的jdk路徑修改之后,使用-version查看,版本號還是之前的,也就是說修改未生效。甚至當我將Path變量中的jdk路徑配置都刪除了之后,使用-version還是會輸出之前的jdk信息。所以肯定不是jdk本身的問題,后來各種排查試驗,偶然間想到了可能是系統加載環境變量的問題,系統加載環境變量是從前往后順序加載的。
所以我將jdk的配置,提到Path變量的最前面,讓系統優先加載。然后-version查看,問題解決。那就是這個問題,於是去從前往后查看系統變量中是否有java.exe。果然在%SystemRoot%\system32路徑下找到了java.exe、javaw.exe、javaws.exe三個文件。
問題解決,結論是,安裝JDK的時候,會復制這三個文件到%SystemRoot%\system32路徑下,系統加載環境變量的時候如果先走到這個路徑,就會用這個路徑下的java程序。最好的辦法是配置環境變量的時候將jdk路徑配置到最前面,而不是像網上大多數教程一樣配在最后面。