如何在一臺計算機上安裝多個 JDK 版本

前言java

對於使用 Java 語言開發的朋友可能會遇到這種狀況,有時想學習和探索 Java 的最新版本提供的一些新特性,好比 Java 11,但你沒法將其安裝在本身的計算機上,由於你的團隊正在使用比這個舊的版本(咱們目前用的 Java 8),你並不想影響目前的項目。或者你目前是在維護和開發多個項目,而這些不一樣的項目使用的 JDK 版本不同,好比那些維護的老項目使用的是 JDK 8,而新項目你打算使用比較新的版本 JDK 11,以上這些狀況都須要在計算機上安裝多個 JDK,而且應該可以在多個版本之間方便快速的切換。今天要介紹的主角 SDKMAN ( https://sdkman.io ) 能夠很好的解決上面這種問題,它提供了在同一臺計算機上對多個版本的開發工具包管理。須要注意的是:這個工具只適用於類 Unix 的系統(好比:Mac OSX、Linux、Cygwin、Solaris、FreeBSD 等)。bash

2curl

SDKMan 簡介ide

直接引用 SDKMan 官網上的介紹以下:工具

SDKMAN! is a tool for managing parallel versions of multiple Software Development Kits on most Unix based systems. It provides a convenient Command Line Interface (CLI) and API for installing, switching, removing and listing Candidates.學習

簡單來講就是其提供了管理多個版本開發工具包的能力,同時也提供了一些命令行接口讓咱們方便安裝、版本切換、版本移除和顯示版本列表。關於 SDKMan 還有幾個要點以下:開發工具

SDKMan 是由開源社區開發的,無償使用,。url

SDKMan 是用 bash 編寫的,它只須要您的系統上安裝了 curl 和 zip / unzip 命令便可。命令行

SDKMan 能夠爲 JVM 安裝大約 29 個軟件開發包,好比 Java、Groovy、Scala、Kotlin、Gradle、Maven、Spark、Spring Boot 等。3d

SDKMan 能夠自動處理幫咱們配置 *_HOME(e.g.:JAVA_HOME) 和 PATH 環境變量,所以咱們不須要擔憂切換版本後這些環境變量的設置。

3

安裝 SDKMan

SDKMan 能夠運行在任何類 Unix 系統上,咱們只須要在命令行輸入如下命令便可安裝:

curl -s "https://get.sdkman.io" | bash

如何在一臺計算機上安裝多個 JDK 版本
而後執行如下命令,加載文件 sdkman-init.sh 到當前環境,執行完該命令以後咱們能夠經過 sdk version 來驗證是否安裝成功,同時還能夠經過 sdk help 命令顯示有關 sdk 命令用法和幫助(PS: 對於使用 Windows 環境的朋友能夠安裝 Cygwin 或 Git Bash 運行以上命令)。

source "$HOME/.sdkman/bin/sdkman-init.sh"

如何在一臺計算機上安裝多個 JDK 版本

4

使用 SDKMan 安裝 JDK

前面已經介紹過,SDKMan 支持多達大約 29 個軟件開發包管理,咱們也可使用 sdk list 命令來查看支持的完整列表,本文主要介紹 Java 相關的內容,能夠經過命令 sdk list java 來查看支持安裝的 Java 版本。

如何在一臺計算機上安裝多個 JDK 版本

使用如下命令安裝 Java 11 :

sdk install java 11.0.7.hs-adpt

該命令會花費一些時間,由於它會在咱們的計算機上下載對應版本的 JDK,執行完成以後 SDKman 會自動給咱們配置好 JAVA_HOME 和 PATH 等環境變量,能夠經過 Java -version 命令驗證。

如何在一臺計算機上安裝多個 JDK 版本

如今,若是檢查 Java 版本和 JAVA_HOME 環境變量,能夠看到當前 Java 的版本已更新爲 11.0.7。

如何在一臺計算機上安裝多個 JDK 版本

可使用如下命令來設置默認使用的 JDK 版本。

sdk default java 11.0.7.hs-adpt

5

將 SDKMan 指向已安裝 Java 版本

若是在你安裝 SDKMan 以前本地電腦已經安裝了 JDK 版本,默認是沒法識別到的,那麼你須要進行如下配置才能讓 SDKMan 識別已安裝的版本,首先,第一步你要先找到你的 Java 安裝目錄,我本地 Mac 的安裝目錄是 /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk,而後使用命令 ln -s 來爲 Java 安裝目錄創建符號連接。

如何在一臺計算機上安裝多個 JDK 版本

6

多個 JDK 版本切換示例

SDKMan 提供了命令 sdk use java在多個版本之間進行切換,使用 sdk use java jdk1.8.0_181.jdk 命令來使用以前本地安裝的 Java 8。

如何在一臺計算機上安裝多個 JDK 版本

使用命令 sdk use java 11.0.7.hs-adpt 來設置版本爲 Java 11。

如何在一臺計算機上安裝多個 JDK 版本

須要注意的是:使用命令 sdk use java只在當前會話有效,若是你關閉終端並再次打開它,則將使用之前安裝的版本,不會改變你本地使用的版本,此時可使用 sdk default java來設置永久生效。

7

如何卸載指定的 JDK 版本

若是你想要卸載任何已安裝的 JDK 版本,好比:11.0.7.hs-adpt,可使用如下命令卸載:

sdk uninstall java 11.0.7.hs-adpt

此時,若是你想再次安裝以前經過 SDKMan 卸載的版本,此時不會再次從新下載,會提示 Found a previously downloaded java 11.0.7.hs-adpt archive. Not downloading it again...,由於以前刪除操做並無真正的從你計算機上刪除源壓縮包文件。

8

IntelliJ IDEA 使用 SDMan 安裝 JDK

SDKMan 全部安裝的 JDK 都放在目錄 .sdkman/candidates/java/,你能夠在你當前用戶的 home 文件夾下面看到該文件夾(注意是隱藏文件夾)。

如何在一臺計算機上安裝多個 JDK 版本

在 IntelliJ IDEA 中打開任何一個 Java 項目後,您能夠按 Command + : 快捷鍵打開項目結構窗口,在 Project SDK 模塊選擇新建一個 JDK 後輸入你須要的 JDK 版本在 SDKMan 中的路徑便可。

如何在一臺計算機上安裝多個 JDK 版本

由於 .sdkman 是隱藏文件夾不太方便查找,可使用如下命令建立一個非隱藏文件夾指向它。

ln -s ~/.sdkman ~/sdkman
相關文章
相關標籤/搜索