JDK是Java Development Kit的縮寫,簡單來說也就是Java開發的工具組。
JDK下載
JDK安裝來源可以分成兩大類,一邊是利用官方進行下載並安裝或者安裝Open JDK,這裏介紹以OpenJDK為主。主要使用ZuluJDK。
OpenJDK有不少來源,Zulu JDK提供完整的選擇,包含JDK版本、作業系統(Windows、Mac),Download時可以選擇zip檔。

Windows安裝
以下我們以JDK 17做為例子。下載檔案為zulu11.62.17-ca-jdk11.0.18-win_x64.zip,假設我們安裝JDK的目錄為C:\JDK17。
- 在C槽下產生一個新的目錄JDK17
- 解壓縮zulu11.62.17-ca-jdk11.0.18-win_x64.zip至C:\JDK17。
系統環境變數設定
系統環境變數主要於命令提示字元(cmd.exe)中執行java.exe指令時使用。
- 在本機上按右鍵,選「內容」。
- 執行「進階系統設定」選單。
- 執行「環境變數」

- 於下方的「系統變數」按下新增

這裏可以看到區分成上下兩塊區域,上面設定會影響到這台電腦的目前登入的使用者,下方的設定則會影響到所有使用者,通常我們是選擇下方設定,除非電腦不是只有你在用。
- 變數名稱 JAVA_HOME,變數值選擇「瀏覽目錄」,選到C:\JDK17

這裏的設定主要是在電腦上註冊一個名字叫JAVA_HOME,而指向的位置則是我們安裝JDK的目錄,Java相關程式會利用此名稱,在系統中找JDK位置的方式,如果你之後裝了更新的版本的JDK,只要更換JAVA_HOME的路徑就可以(例如C:\JDK21)。
- 修改「Path」變數,選擇編輯

- 將 %JAVA_HOME%\bin 新增到變數中,如果電腦有其它版本的JDK,那你可以選擇把JAVA_HOME像圖例一樣移到最上方,讓這個目錄被搜尋的順序優先於其它目錄

Path變數中記載的為系統中尋找執行檔的目錄順序,等會我們要執行的程式是C:\JDK17\bin\java.exe。
JAVA_HOME用%字前後夾起來,對作業系統來說表示JAVA_HOME為一個變數,在執行時會將其替換為步驟5設定的目錄C:\JDK17,也就是說說%JAVA_HOME%\bin最後會被替換成 C:\JDK17\bin,這裏你當然也可以直接設定為C:\JDK17\bin,只是這樣一旦你裝了其它版的JDK,就必須同時修改 JAVA_HOME跟Path變數。然而實務上如果有新版的JDK我們會直接修改JAVA_HOME所指向的目錄位置,這裏的Path就會自動更新。
- 按下確定,直回到步驟3的畫面。
- 於windows搜尋框中輸入cmd,上方會出現「命令提示字元」的應用程式,開啟一個「命令提示字元」程式。

- 輸入java -version (留意java跟-version中間有空一格),按下enter執行要顯示相對應的版本號碼,這裏圖示是17.0.6可以比對你剛下載的JDK版本,接著再輸入where java,系統會提示找到的java.exe指令位於那個目錄下。恭喜你,完成了jdk的安裝。

Mac安裝
- 下載Zulu JDK,選擇相對應的cpu架構(Intel或者M1機種)以及Java版本,以下以JDK 17為例。
- 解壓縮至指定位置,例如 /Users/你的使用者名稱/Java/JDK17
Terminal終端機
Mac執行java指令必須利用終端機(類似Windows上的「命令提示字元」),使用Java指令需設定JAVA_HOME環境變數。
export JAVA_HOME=/Users/xxx/java/JDK17
java -version

如果你不想要每次都執行export JAVA_HOME指令,則需要修改shell的設定檔。

- bash,則修改隱藏設定檔案 /Users/vincent/.bash_profile (.開頭的檔案表示隱藏檔案)。
- zsh,則修改隱藏檔案 /Users/xxx/.zshrc 或者 /Users/xxx/.zprofile都可以
因為這兩個設定檔都是隱藏檔,所以在Finder中按 command+shift+. 即可開關顯示或隱藏 .開頭的檔案,可以用VS code或者任何的文字編輯器修改相對應的檔案
- 附加以下指令export JAVA_HOME=/Users/xxx/java/JDK17 在檔案(.zprofile or .bash_profile)的最後,修改完後,必須重新開啟Terminal才會生效。下圖是我的.zprofile的例子

- 執行java -version
