一、简介与命令基础使用
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-16LTS
Java(TM) SE Runtime Environment18.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
openjdk@1.13.0
openjdk@1.13.0-8
openjdk@1.12.0
openjdk@1.11.0
openjdk@1.11.0-2
openjdk@1.11.0-1
openjdk@1.10.0
openjdk@1.10.0-2
openjdk@1.10.0-1
openjdk@1.9.0-4
......
因为列表比较长,所以这里就不全部列出了,有兴趣的读者可以自己实践。
二、如何搭配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‘是版本号,如果使用不同的版本,替换这个参数即可。