使用Jabba管理不同版本的JDK
一、簡介與命令基礎使用
Java開發中,有時可能會需要更換JDK版本。手動管理十分麻煩,而且容易出錯。Jabba就是為此而生。它是一個JDK版本管理工具,類似於nvm,可以在命令列裡使用。
安裝Jabba:
Mac OS / Linux:
$ curl -sL https://github.com/shyiko/jabba/raw/master/install.sh | bash && . ~/.jabba/jabba.sh
Windows (Powershell):
$ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Invoke-Expression ( Invoke-WebRequest https://github.com/shyiko/jabba/raw/master/install.ps1 -UseBasicParsing ).Content
那麼如何使用呢?以JDK 11為例:
(1)安裝JDK 11:
$ jabba install 1.11
(2)將當前terminal的JDK版本切換為JDK 11:
$ jabba use 1.11
(3)檢視Java版本。可以看到已經變為11了:
$ java -version java version "11.0.1" 2018-10-16 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
那麼如何知道有哪些JDK可以安裝呢?可以使用 $ jabba ls -remote :
$ jabba ls-remote [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] ......
因為列表比較長,所以這裡就不全部列出了,有興趣的讀者可以自己實踐。
二、如何搭配IDE使用
除了命令裡,我們還希望能在IDE裡使用不同版本的JDK。這需要我們額外設定一下。以IDEA為例:
(1)點選File => New => Project。會彈出這樣一個框:
點選右上方的 New 按鈕。在裡面新增上新安裝的JDK 11的目錄即可。這個目錄其實可以通過命令列獲得:
$ jabba which 1.11
我的結果是 /Users/{user_name}/.jabba/jdk/ 1.11 . 0 。'1.11'是版本號,如果使用不同的版本,替換這個引數即可。