sdkman

概述

SDKMAN 是一款专注于软件开发工具包(SDK)版本管理的命令行工具,主要用于简化多种开发工具的安装、切换和管理,尤其适合需要在不同项目中使用不同版本工具的场景。

安装

方法一:

1
curl -s "https://get.sdkman.io" | bash

方法二:

1
brew install sdkman/tap/sdkman

都需要可以访问github.com。

要不科学上网、要不配置hosts(140.82.114.4 github.com) 最新的IP

安装后验证:

1
sdk version

命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 查看所有命令帮助
sdk help
# 升级 SDKMAN 到最新版本
sdk selfupdate
# 强制升级(解决版本兼容问题时用)
sdk selfupdate force
# 清理已下载的工具安装包缓存
sdk flush archives
# 清理临时文件
sdk flush temp
# 读取项目根目录的 .sdkmanrc 文件,自动切换到项目指定的工具版本(需手动创建该文件)
sdk env
# 查看所有支持的工具
sdk list
# 查看特定工具(如 Gradle)的可安装版本
sdk list gradle
# 查看已安装的工具
sdk current # 显示所有工具的当前版本
sdk current gradle # 显示 Gradle 的当前版本

安装工具:

1
2
3
4
5
# 安装指定版本(版本号需从 sdk list 中获取)
sdk install gradle 7.5

# 安装最新稳定版(部分工具支持)
sdk install gradle

切换工具版本:

1
2
3
4
5
# 临时切换(仅当前终端生效)
sdk use gradle 4.10.3

# 永久切换(设置为默认版本)
sdk default gradle 7.5

卸载工具:

1
sdk uninstall gradle 4.10.3

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装并使用 Java 11
sdk install java 11.0.20-tem
sdk list java
# sdk list java后 Vendor | Use | Version | Dist | Status | Identifier
# vendor 是供应商 status installed 是本地安装了
#
sdk use java 11.0.20-tem

# 安装并默认使用 Maven 3.8.6
sdk install maven 3.8.6
sdk default maven 3.8.6

# 查看当前所有工具的版本
sdk current

供应商

后缀 发行商 特点(关键) 适用场景
tem Eclipse Temurin(Adoptium) 开源免费、长期支持(LTS)、社区活跃,是最主流的选择 绝大多数开发 / 生产场景(首选)
zulu Azul Zulu 开源免费、跨平台兼容性好,对嵌入式 / 云环境友好 跨平台开发、云原生场景
oracle Oracle JDK 官方原版,但商用需授权(非开源) 仅 Oracle 生态专属场景
amzn Amazon Corretto 亚马逊维护,优化云环境 亚马逊云(AWS)部署场景
graal GraalVM 侧重即时编译、原生镜像 高性能 / 原生应用开发


sdkman
http://hanqichuan.com/2025/08/25/其他工具/sdkman/
作者
韩启川
发布于
2025年8月25日
许可协议