打赏

星辰大海ゞ

That which does not kill us makes us stronger!

导航

SDKMAN安装使用

# alternatives --config java

 

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

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

安装SDKMAN!

安装SDKMAN,配置全局所有用户均可使用sdkman安装的软件

# curl -s "https://get.sdkman.io" | bash
# echo 'export SDKMAN_DIR="/usr/local/sdkman"' >> /etc/profile
# echo 'source "/usr/local/sdkman/bin/sdkman-init.sh"' >> /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命令列出来。

 

管理当前已安装软件版本

$ sdk current        #查看当前已安装的软件
$ sdk uninstall .. #卸载软件
$ sdk rm .. #卸载软件
$ sdk version #查看sdkman版本

 

 帮助信息

# sdk help

Usage: sdk <command> [candidate] [version]
       sdk offline <enable|disable>

   commands:
       install   or i    <candidate> [version] [local-path]
       uninstall or rm   <candidate> <version>
       list      or ls   [candidate]
       use       or u    <candidate> <version>
       config
       default   or d    <candidate> [version]
       home      or h    <candidate> <version>
       env       or e    [init|install|clear]
       current   or c    [candidate]
       upgrade   or ug   [candidate]
       version   or v
       broadcast or b
       help
       offline           [enable|disable]
       selfupdate        [force]
       update
       flush             [archives|tmp|broadcast|version]

   candidate  :  the SDK to install: groovy, scala, grails, gradle, kotlin, etc.
                 use list command for comprehensive list of candidates
                 eg: $ sdk list
   version    :  where optional, defaults to latest stable if not provided
                 eg: $ sdk install groovy
   local-path :  optional path to an existing local installation
                 eg: $ sdk install groovy 2.4.13-local /opt/groovy-2.4.13

 

 
 
 
 
 

posted on 2021-09-07 14:53  星辰大海ゞ  阅读(2089)  评论(0编辑  收藏  举报