1. 程式人生 > 實用技巧 >【轉載】Win10安裝jdk11及環境變數配置

【轉載】Win10安裝jdk11及環境變數配置

原文連結:https://blog.csdn.net/climber16/article/details/83242425

寫在前面

我第一次安裝java是在17年初,距離現在已經一年半了。今天上oracle官網一看,jdk都已經更新到11.0.1了,然而我用的還是1.8.0_171版本的老古董,遂決定把jdk升級一下,結果沒想到這一升級就折騰了老半天。在這裡把我的升級的詳細步驟以及經驗教訓和大家分享一下。

解除安裝舊版本jdk

進入設定——應用,搜尋java,得到兩個結果,一個是jdk,一個是jre,把兩個應用都解除安裝。解除安裝完以後先別急著去下載最新版jdk,先把系統環境變數中和jdk, jre相關的項刪除,比如JAVA_HOME,以及Path中包含jdk, jre的值等。我就是因為有一個環境變數沒清掉,後來環境變數怎麼配都不對,浪費了好多時間。

下載jdk11

直接附上官網連結:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html
開啟頁面後,首先勾選Accept Licence Agreement(預設是Decline),然後點選下載jdk-11.0.1_windows-x64_bin.exe,如圖:

下載完成後,雙擊檔案進入安裝介面。點選下一步。

這裡需要選擇要裝的功能以及安裝路徑,預設路徑在C盤,個人不喜歡把軟體裝在C盤,所以點選更改,當然這裡直接選擇下一步也是可以的。

選擇完安裝目錄後,點選確定,回到上一個頁面。

選擇開發工具作為要安裝的可選功能,記住這裡的安裝路徑,後面配置環境變數需要用到,點選下一步。


靜靜等待安裝完成,點選關閉。

配置環境變數

為了讓我們安裝好的jdk在命令列下能夠方便地使用,還需要為jdk配置環境變數。
點選桌面左下角圓圈圖示,在彈出的搜尋框中輸入環境變數,點選編輯系統環境變數。

點選環境變數。

為了讓計算機上的所有使用者都能使用jdk,這裡編輯的是系統環境變數。點選新建,變數名輸入"JAVA_HOME",變數值就是在安裝時選擇的安裝路徑,到安裝目錄把地址複製一下,貼上過來就好了。然後點選確定。

接下來在系統環境變數中找到Path(注意Windows中環境變數名不區分大小寫),選中,點選編輯,在彈出的新視窗中點選新建,輸入"%JAVA_HOME%\bin",點選確定。

至此,環境變數已經配置完成,在cmd分別輸入javac --version和java --version,得到如下輸出:


接著編譯執行個java小程式看看是不是真的能用了,結果如圖:

OK,大功告成。

經驗教訓

自己折騰的時候修改完Path環境變數,cmd下直接使用java命令執行java程式,發現提示
Error: opening registry key 'Software\JavaSoft\Java Runtime Environment'
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
  • 1
  • 2
  • 3
  • 4

以為是自己少配了環境變數,網上看別人教程說還要修改ClassPath,Path裡面還要加上jre相關的值,結果配置了半天也沒什麼用。然後以為是沒下jre,另外下載安裝了jre,又鼓搗了一番環境變數,然而還是沒用。最後發現在Path裡面還留著一一欄"C:\ProgramData\Oracle\Java\javapath",到這目錄裡一看,好傢伙,原來裡頭還藏著個java.exe,把這一欄一刪,jre再一解除安裝,發現java命令就能正常使用了。原來之前在cmd執行java命令的時候一直找錯路徑了。。。

關於ClassPath環境變數的配置:jdk-1.8.0是把jre放在了jdk目錄下,jdk10是把jre和jdk放在同一目錄下,而jdk11就不知道把jre放哪兒了,反正我是沒找到。。。所以jdk-1.8.0和jdk10是要在ClassPath中新增jre相關的值,而且配置方法也不一樣,而jdk11嘛,既然找都找不到,那就不管了。其實就算沒有ClassPath這個環境變數,一般的java程式也能執行,因為這時預設在當前目錄尋找class檔案,只要程式使用到的class檔案都放在當前目錄下,是不會有問題的。

總之就是在修改完Path環境變數後,注意上方是否有解除安裝java後殘留的與java相關的環境變數值,一經發現,立馬刪除,否則Path的值就白改了,因為它會被上方的路徑掩蓋。以及jre是不需要自己另外下載安裝的,jre都包含在jdk的安裝路徑下(雖然我暫時還沒有找到jdk11的jre在哪裡orz)。最後,ClassPath對於java初級玩家來說不用理會,等你成為高階玩家的時候,可能就需要把ClassPath好好配置一下了(不過到那時誰還用命令列跑java程式呢hh)。