#JDK 配置環境無效的兩種情況 第 ① 種:輸入java -version,顯示:**'java' 不是內部或外部命令,也不是可運行的程式或批處理文件。**這個問題一般出現在電腦第一次配置環境的時候。 第 ② 種:輸入java -version,命令可以正常使用,但是顯示的版本與Path中配置的版 ...
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\bin
第 ② 種情況的原因
參考博客: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\javapath
、C:\ProgramData\Oracle\Java\javapath
兩個路徑。 -
在
Path
中,寫入自己想要的 JDK 路徑。(寫入時,要註意是否可以寫入%JAVA_HOME
形式的路徑)