使用Jabba管理不同版本的JDK

Posted tdkihrr

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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

因为列表比较长,所以这里就不全部列出了,有兴趣的读者可以自己实践。

二、如何搭配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‘是版本号,如果使用不同的版本,替换这个参数即可。

 

以上是关于使用Jabba管理不同版本的JDK的主要内容,如果未能解决你的问题,请参考以下文章

Mac - 如何在Mac上安装多个版本openjdk并有效管理

Gradle - 源代码和测试的不同 JDK 版本

让代码更优雅:JAVA代码不同JDK版本的不同写法

支持动态或静态片段的不同屏幕尺寸?

怎么样在 IDEA 同一个项目里使用不同的 jdk 版本

jdk 1.80的小版本不同有影响嘛