SDKMAN入门
SDKMAN 是一款软件开发包管理器,常用于管理JDK等二进制SDK包
安装
Linux系统下安装比较简单,这里请参照官方文档即可
$ curl -s "https://get.sdkman.io" | bash
Windows系统下则会比较麻烦,因为SDKMAN依赖Linux系统下的一些组件(软件),所以在Windows上安装需要先安装这些依赖的组件
大致有三种方式
- 安装 Windows Linux System(WLS)
- 安装 Cygwin
- 安装 Git Bash for Windows
做为开发人员通常已经安装了 Git Bash
,所以使用该方式最简单。安装 SDKMAN
之前还需要安装其它缺失工具:curl
、unzip
和sed
,其中curl
和sed
默认已有安装,zip
/unzip
则需要手动安装(下载地址)。下载后解压,将zip.exe
复制到 Git Bash
安装目录下的 mingw64/bin
目录下即可
在 Windows 系统上安装 SDKMAN
与 Linux 系统一致
# 下载安装
$ curl -s "https://get.sdkman.io" | bash
$ sdk version
SDKMAN 5.11.0+644
# 执行初始化(否则 sdk 命令不可用)
$ source "~/.sdkman/bin/sdkman-init.sh"
用法
$ 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>
completion <bash|zsh>
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
应用示例:安装JDK
$ sdk ls java
================================================================================
Available Java Versions
================================================================================
Vendor | Use | Version | Dist | Status | Identifier
--------------------------------------------------------------------------------
AdoptOpenJDK | | 15.0.2.j9 | adpt | | 15.0.2.j9-adpt
| | 15.0.2.hs | adpt | | 15.0.2.hs-adpt
| | 11.0.10.j9 | adpt | | 11.0.10.j9-adpt
| | 11.0.10.hs | adpt | | 11.0.10.hs-adpt
| | 11.0.9.open | adpt | | 11.0.9.open-adpt
| | 8.0.282.j9 | adpt | | 8.0.282.j9-adpt
| | 8.0.282.hs | adpt | | 8.0.282.hs-adpt
| | 8.0.275.open | adpt | | 8.0.275.open-adpt
Alibaba | | 11.0.9.4 | albba | | 11.0.9.4-albba
Amazon | | 15.0.2.7.1 | amzn | | 15.0.2.7.1-amzn
| | 11.0.10.9.1 | amzn | | 11.0.10.9.1-amzn
| | 8.282.08.1 | amzn | | 8.282.08.1-amzn
Azul Zulu | | 15.0.2 | zulu | | 15.0.2-zulu
| | 15.0.2.fx | zulu | | 15.0.2.fx-zulu
| | 11.0.10 | zulu | | 11.0.10-zulu
| | 11.0.10.fx | zulu | | 11.0.10.fx-zulu
| | 8.0.282 | zulu | | 8.0.282-zulu
| | 8.0.282.fx | zulu | | 8.0.282.fx-zulu
| | 6.0.119 | zulu | | 6.0.119-zulu
BellSoft | | 15.0.2.fx | librca | | 15.0.2.fx-librca
| | 15.0.2 | librca | | 15.0.2-librca
| | 11.0.10.fx | librca | | 11.0.10.fx-librca
| | 11.0.10 | librca | | 11.0.10-librca
| | 8.0.282.fx | librca | | 8.0.282.fx-librca
| | 8.0.282 | librca | | 8.0.282-librca
GraalVM | | 21.0.0.2.r11 | grl | | 21.0.0.2.r11-grl
| | 21.0.0.2.r8 | grl | | 21.0.0.2.r8-grl
| | 20.3.1.2.r11 | grl | | 20.3.1.2.r11-grl
| | 20.3.1.2.r8 | grl | | 20.3.1.2.r8-grl
| | 19.3.5.r11 | grl | | 19.3.5.r11-grl
| | 19.3.5.r8 | grl | | 19.3.5.r8-grl
| | 19.1.0 | grl | | 19.1.0-grl
Java.net | | 17.ea.12 | open | | 17.ea.12-open
| | 17.ea.11 | open | | 17.ea.11-open
| | 17.ea.10 | open | | 17.ea.10-open
| | 17.ea.9 | open | | 17.ea.9-open
| | 17.ea.2.pma | open | | 17.ea.2.pma-open
| | 17.ea.2.lm | open | | 17.ea.2.lm-open
| | 16.ea.36 | open | | 16.ea.36-open
| | 15.0.2 | open | | 15.0.2-open
| | 11.0.10 | open | | 11.0.10-open
| | 11.0.2 | open | | 11.0.2-open
| | 8.0.282 | open | | 8.0.282-open
| | 8.0.265 | open | | 8.0.265-open
Mandrel | | 21.0.0.0 | mandrel | | 21.0.0.0-mandrel
| | 20.3.1.2 | mandrel | | 20.3.1.2-mandrel
SAP | | 15.0.2 | sapmchn | | 15.0.2-sapmchn
| | 11.0.10 | sapmchn | | 11.0.10-sapmchn
TravaOpenJDK | | 11.0.9 | trava | | 11.0.9-trava
================================================================================
Use the Identifier for installation:
$ sdk install java 11.0.10.hs-adpt
================================================================================
$ sdk install java 11.0.10.hs-adpt
$ java -version
java version "11.0.10" 2020-10-20 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.10+7-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+7-LTS, mixed mode)