SDKMAN安装使用

现在JDK的发布版本如此之多,半年一次的发布周期,加上AdoptOpenJDK、SAP、Amazon、Azul Systems这些公司的发布版本。安装JDK的时候去这些版本的网站手动下载安装?太繁琐。本地开发环境经常需要在不同的JDK版本之间切换,还在手动改JAVA_HOME, 太原始。你需要的是SDKMAN!。

可以把SDKMAIN!当成是Java平台上的RVM。可以在Linux和macOS上工作。

SDKMAN! the Software Development Kit Manager​sdkman.io/

安装SDKMAN!

安装SDKMAN!只需要一行命令。

# export SDKMAN_DIR="/data/software/sdkman" && curl -s "https://get.sdkman.io" | bash
# echo 'export SDKMAN_DIR="/usr/local/sdkman"' >> /etc/profile

安装完成之后,就可以在新的终端上使用sdk命令。

安装JDK

首先列出来全部的JDK

$ sdk ls java

全部的可用JDK如下所示。其中AdoptOpenJDK包含使用HotSpot和Eclipse J9两个版本。Identifier一列是安装时的标识符。

================================================================================
Available Java Versions
================================================================================
 Vendor        | Use | Version      | Dist    | Status     | Identifier
--------------------------------------------------------------------------------
 AdoptOpenJDK  |     | 13.0.1.j9    | adpt    |            | 13.0.1.j9-adpt
               |     | 13.0.1.hs    | adpt    |            | 13.0.1.hs-adpt
               |     | 12.0.2.j9    | adpt    |            | 12.0.2.j9-adpt
               |     | 12.0.2.hs    | adpt    |            | 12.0.2.hs-adpt
               |     | 11.0.5.j9    | adpt    |            | 11.0.5.j9-adpt
               | >>> | 11.0.5.hs    | adpt    | installed  | 11.0.5.hs-adpt
               |     | 8.0.232.j9   | adpt    |            | 8.0.232.j9-adpt
               |     | 8.0.232.hs   | adpt    |            | 8.0.232.hs-adpt
 Amazon        |     | 11.0.5       | amzn    |            | 11.0.5-amzn
               |     | 8.0.232      | amzn    |            | 8.0.232-amzn
               |     | 8.0.202      | amzn    |            | 8.0.202-amzn
 Azul Zulu     |     | 13.0.1       | zulu    |            | 13.0.1-zulu
               |     | 12.0.2       | zulu    |            | 12.0.2-zulu
               |     | 11.0.5       | zulu    |            | 11.0.5-zulu
               |     | 10.0.2       | zulu    |            | 10.0.2-zulu
               |     | 9.0.7        | zulu    |            | 9.0.7-zulu
               |     | 8.0.232      | zulu    |            | 8.0.232-zulu
               |     | 8.0.202      | zulu    |            | 8.0.202-zulu
               |     | 7.0.181      | zulu    |            | 7.0.181-zulu
 Azul ZuluFX   |     | 11.0.2       | zulufx  |            | 11.0.2-zulufx
               |     | 8.0.202      | zulufx  |            | 8.0.202-zulufx
 BellSoft      |     | 13.0.1       | librca  |            | 13.0.1-librca
               |     | 12.0.2       | librca  |            | 12.0.2-librca
               |     | 11.0.5       | librca  |            | 11.0.5-librca
               |     | 8.0.232      | librca  |            | 8.0.232-librca
 GraalVM       |     | 19.3.0.r11   | grl     |            | 19.3.0.r11-grl
               |     | 19.3.0.r8    | grl     |            | 19.3.0.r8-grl
               |     | 19.3.0.2.r11 | grl     |            | 19.3.0.2.r11-grl
               |     | 19.3.0.2.r8  | grl     |            | 19.3.0.2.r8-grl
               |     | 19.2.1       | grl     |            | 19.2.1-grl
               |     | 19.1.1       | grl     |            | 19.1.1-grl
               |     | 19.0.2       | grl     |            | 19.0.2-grl
               |     | 1.0.0        | grl     |            | 1.0.0-rc-16-grl
 Java.net      |     | 15.ea.2      | open    |            | 15.ea.2-open
               |     | 14.ea.28     | open    |            | 14.ea.28-open
               |     | 13.0.1       | open    |            | 13.0.1-open
               |     | 12.0.2       | open    |            | 12.0.2-open
               |     | 11.0.2       | open    |            | 11.0.2-open
               |     | 10.0.2       | open    |            | 10.0.2-open
               |     | 9.0.4        | open    |            | 9.0.4-open
 SAP           |     | 12.0.2       | sapmchn |            | 12.0.2-sapmchn
               |     | 11.0.4       | sapmchn |            | 11.0.4-sapmchn
================================================================================

如果想安装AdoptOpenJDK的13.0.1.hs版本,使用下面的命令。 13.0.1.hs-adpt是对应版本的标识符。

$ sdk install java 13.0.1.hs-adpt

安装之后,sdk命令会提示是否设为默认JDK。Y会把这个版本设置成默认JDK。运行java -version检查一下。

切换默认版本

如果想切换默认的JDK版本,使用sdk default命令。如果同时安装了其他的JDK版本,比如AdoptOpenJDK的JDK 11,可以把它设置为默认JDK。

$ sdk default java 11.0.5.hs-adpt

临时切换版本

如果只想在当前的shell中临时使用与默认JDK不同的版本,使用sdk use命令。比如,我就是想临时试一下JDK 8,可以用下面的命令

$ sdk use java 8.0.232.hs-adpt

其它SDK

除了JDK之外,SDKMAIN!还可以安装其它Java相关的SDK,包括Scala、Kotlin、Groovy、Spring Boot、Maven、sbt和Gradle等。比如,下面的命令可以列出来全部的Maven版本。再使用sdk install maven进行安装即可。

$ sdk ls maven

全部可用的SDK可以在这个页面上看到,也可以使用sdk list命令列出来。

SDKMAN! the Software Development Kit Manager​sdkman.io/sdks  

查看当前已安装软件版本

$ sdk current

 

 

       
上一篇:easyui弹出窗关闭前调用确认窗口,先关闭页面后调用弹出窗口


下一篇:ASP.NET + EasyUI三层架构实现增删改查之六:表现层之——添加信息界面搭建