SDKMAN!(Software Development Kit Manager)是一个用于管理开发工具套件(SDK)的开源工具。它允许开发人员在 Unix 系统(如 macOS 和 Linux)上方便地安装、管理和切换多个 SDK 版本。
注:Windows 系统需要借助 WSL 或 Git Bash ,详见:https://sdkman.io/install#windows-installation
同时 SDKMAN 也可以管理其它开发工具如 Maven、Gradle 和 Scala等,以及在多个版本之间轻松切换。
本文主要以管理 jdk 为例进行说明。
安装
1 2 3 4 5 6 7 8 9 10 11
| curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh" sdk version
export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash
curl -s "https://get.sdkman.io?rcupdate=false" | bash
|
查看本机当前可用的版本
执行命令 sdk list java 可以查询适用于当前系统的发行版,以及已安装和当前在用的版本。
各发行版举例说明:
| 提供商标识 |
版本后缀 |
完整版本标识 |
提供商说明 |
| Corretto |
amzn |
17.0.15-amzn |
亚马逊发布的 Corretto OpenJDK 构建版本 |
| GraalVM CE |
graalce |
17.0.9-graalce |
社区版 GraalVM,支持 AOT 编译和运行时优化 |
| GraalVM Oracle |
graal |
17.0.12-graal |
Oracle 提供的 GraalVM 版本 |
| JetBrains |
jbr |
17.0.14-jbr |
JetBrains 提供的定制 JDK,适配 IntelliJ 平台 |
| Liberica |
librca |
17.0.15-librca |
BellSoft 提供的全平台 JDK 构建 |
| Microsoft |
ms |
17.0.15-ms |
微软发布的 OpenJDK,兼容 Azure 环境 |
| Oracle |
oracle |
17.0.12-oracle |
Oracle 官方 LTS 支持的 JDK 版本 |
| SapMachine |
sapmchn |
17.0.15-sapmchn |
SAP 发布的 OpenJDK 构建版本 |
| Semeru |
sem |
17.0.15-sem |
IBM 提供的基于 OpenJ9 的 JDK 构建 |
| Temurin |
tem |
17.0.15-tem |
Eclipse Adoptium 项目的主力发行版 |
| Tencent |
kona |
17.0.15-kona |
腾讯维护的 KonaJDK,优化云和大数据场景 |
| Zulu |
zulu |
17.0.15-zulu |
Azul Systems 提供的 OpenJDK 构建 |