1. 程式人生 > 實用技巧 >JDK路徑設定無效問題解決

JDK路徑設定無效問題解決

JDK 配置環境無效的兩種情況

  • 第 ① 種:輸入java -version,顯示:'java' 不是內部或外部命令,也不是可執行的程式或批處理檔案。這個問題一般出現在電腦第一次配置環境的時候。

  • 第 ② 種:輸入java -version,命令可以正常使用,但是顯示的版本與Path中配置的版本不對應。這個問題一般出現在電腦已經配置過 JDK,後面重新安裝新的 JDK 的時候。

第 ① 種情況的原因

對於第 ① 種情況,原因可能有:

  • Path的路徑寫入錯誤,檢查後寫入正確的即可。

  • 還有一種原因比較特殊,Windows7/8 和 Windows 10 對於Path寫法的差別。在 Windows 7/8,可以並且推薦使用%JAVA_HOME%
    的方式,比如,在Path中新增以下路徑:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

但是,在 Windows 10,如果像上面這樣子配置 JDK 的路徑,系統是掃描不出來的,必須在Path中給出完整的路徑資訊:

C:\Program Files\Java\jdk1.8.0_221\bin
C:\Program Files\Java\jdk1.8.0_221\jre

第 ② 種情況的原因

參考部落格:https://blog.csdn.net/joker_zsl/article/details/104446404


要解釋配置的 JDK 與實際執行的 JDK 不一致的問題,需要了解 JDK 的執行原理。在接收到指令後,JDK 的執行順序如下:

  • C:\Windows\System32\目錄下,尋找java.exe javaw.exe javaws.exe三個可執行檔案,如果不存在,接著往下面找 ↓
  • C:\Program Files (x86)\Oracle\Java\javapath\路徑找。如果仍然沒有找到,接著往下找 ↓
  • C:\ProgramData\Oracle\Java\javapath\路徑找。如果沒有找到,往下找 ↓
  • 在我們自己配置的路徑下面尋找

在安裝低版本的 JDK 時(JDK 1.8 以下,未考證),一般不會出現前面 3 中情況。但是在安裝較高版本的 JDK 時,系統會在這些路徑自動生成執行檔案,並且將路徑寫到Path

中。所以,問題也出現在這裡,我們配置的路徑優先順序最低,造成配置失效。


如果只想執行自己配置的 JDK 路徑,可以通過下面的步驟:

  • 刪除C:\Windows\System32\目錄下的 3 個檔案java.exe javaw.exe javaws.exe

  • Path中,刪除C:\Program Files (x86)\Oracle\Java\javapathC:\ProgramData\Oracle\Java\javapath兩個路徑。

  • Path中,寫入自己想要的 JDK 路徑。(寫入時,要注意是否可以寫入%JAVA_HOME形式的路徑)