iT邦幫忙

2022 iThome 鐵人賽

DAY 3
1

為了讓寫好的程式碼能編譯執行,在安裝好開發工具後,我們還需要安裝 SDK。由於 Compose for Desktop 是運行在 JVM 平台上,需要的 SDK 就是 JDK ,至於寫 Kotlin 程式語言所需的 Kotlin 編譯器,則已內建在 IntelliJ IDEA 裡。

因此耕讀筆記的第二步,就是要在本機電腦安裝 JDK。

使用 IntelliJ IDEA 管理本機 JDK

若您不熟悉下載、安裝並設定 JDK 路徑至 PATH 的話,則管理本機 JDK 最簡單的方式,就是透過 IntelliJ IDEA。

首先啟動 IntelliJ IDEA,點選 New Project 建立新專案。

點選左方側邊欄的 New Project,在右邊的 JDK 下拉式選單裡,若偵測到本機有可使用的 JDK,IntelliJ IDEA 會自動列在選單裡;若本機沒有 JDK,則點擊選單裡的 Download JDK...。

在彈出視窗裡選擇想要下載的 JDK 版本及發行商,IntelliJ IDEA 會自動將該 JDK 下載至本機,並在編譯時使用。

有了 IntelliJ IDEA 後,下載/安裝 JDK 就是這麼簡單!

該怎麼選版本和發行商?

現在 JDK 每六個月就會發佈一版,版本號增加的速度比以前快不少,加上發佈 JDK 的又不止官方一家,在安裝 JDK 時,是不是也困擾於該用哪個版本及哪個發行商的 JDK 呢?

若您跟筆者一樣常常面臨選擇障礙,那就直接選 由 Eclipse Temurin 發行的 JDK 17 吧!

選擇這個組合的原因很單純,以長期穩定為考量的話,一般會優先使用 LTS(Long-term Support)的版本。以 JDK 來說,目前 8、11、17 是仍在維護的三大 LTS 版本;而在學習新東西,筆者習慣選擇最新版。所以 JDK 17 算是在長期穩定與追求新版的天平兩端中的最佳平衡。至於選擇 Eclipse Temurin,則是因為它是 AdoptOpenJDK 專案的繼任者,算是知名老牌 OpenJDK,且不少教學都是選擇使用這個發行版做範例。若沒有特別的原因,就跟筆者使用一樣的組合繼續接下來的旅程吧!

給硬派的您

若您想嘗試使用不同的 JDK 版本編譯專案、不想依賴 IntelliJ IDEA 的圖型介面且熟悉 Terminal 指令操作的話,那筆者在這邊分成 Unix-like 及 Windows 兩大作業系統,推薦對應的 Package Manager 給您,讓您可以在指令模式下安裝多版本 JDK。

若您的電腦安裝的是 macOS 或 Linux 作業系統,則筆者會推薦使用 SDKMAN 做為安裝/管理 JDK 的工具,以安裝 Eclipse Temurin JDK 17 為例,只需要以下兩行指令即可完成:

# 安裝 SDKMAN
$ curl -s "https://get.sdkman.io" | bash
# 安裝 Temurin JDK 17
$ sdk install java 17.0.4-tem 

若您電腦的作業系統是 Windows 10 或 11,則筆者會推薦您使用 Scoop 做為安裝/管理 JDK 的工具,以安裝 Eclipse Temurin JDK 17 為例,只需要以下幾行指令即可完成:

# 安裝 Scoop
$ Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://get.scoop.sh')
# 假如有 Policy 警告,則再補這一行
$ Set-ExecutionPolicy RemoteSigned -scope CurrentUser
# 安裝 aria2 加速下載
$ scoop install aria2
# 讓 Scoop 取得所有 JDK 清單
$ scoop bucket add java
# 安裝Temurin JDK 17
$ scoop install temurin17-jdk

值得一提的是,IntelliJ IDEA 會自動偵測用 SDKMAN 或 Scoop 安裝的 JDK 並顯示在建立新專案時的 JDK 下拉式選單裡,所以不論是用以上哪種方式安裝 JDK,都可以在 IDE 裡用來編譯專案喔!

參考資料


上一篇
第 2 天:安裝 IntelliJ IDEA
下一篇
第 4 天:安裝 Compose Multiplatform IDE Support 外掛程式
系列文
傳教士的 Compose for Desktop 耕讀筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言