SDKMAN(Software Development Kit Manager)是一个用于管理和切换不同版本软件开发工具包(如 Java、Groovy、Scala 等)的命令行工具。在类 Unix 系统(Linux/macOS)中使用非常广泛,但在 Windows 上需要借助类似 Git Bash 的 Bash 模拟环境来运行。
SDKMAN 天生在 Linux 和 Mac 上配置简单,对于 Windows 需要几经周折才可以正常使用。它默认并不能直接在 Windows 原生 CMD 或 PowerShell 中运行,需要使用模拟的 Bash 环境(如 Git Bash)。本文将详细介绍如何在 Windows 上借助 Git Bash 安装并使用 SDKMAN 管理 JDK。
一、准备工作:配置 Git Bash 支持 zip 命令
SDKMAN 在安装时依赖 zip 命令,而 Git for Windows 默认只自带 unzip 命令,不包含 zip 命令,因此我们需要为 Git Bash 手动添加 zip 功能。
1. GnuWin Files 下载地址
我们可以从 GnuWin Files 站点下载适用于 Windows 的 GNU 工具,该站点提供了许多常用 GNU 工具的 Windows 兼容版本。
在该站点中,可下载 zip 的二进制压缩包。
2. 配置 Git Bash 支持 zip 命令
下载完成后,请按以下步骤操作:
- 解压缩上述两个 zip 文件。
- 将
zip.exe和bzip2.dll文件拷贝至 Git 安装目录下的\usr\bin文件夹中。 - 一般来说,Git 安装目录为:
C:\Program Files\Git\usr\bin
⚠️ 注意:确保文件被写入 usr\bin 目录,这样才能在 Git Bash 中识别 zip 命令。
3. 验证配置是否成功
打开 Git Bash 窗口,运行以下命令检查是否可以正常识别:
zip --version
如果命令能正常输出版本信息,则表示配置成功,我们可以继续进行 SDKMAN 的安装。
二、安装 SDKMAN
接下来,我们正式开始 SDKMAN 的安装流程。
1. 设置 SDKMAN 目录环境变量并使其生效
首先需要指定 SDKMAN 的安装目录(注意:此时不要手动创建该目录,SDKMAN 会自动创建):
export SDKMAN_DIR="/d/JavaDev/sdkman"
你也可以将该命令加入 .bashrc 或 .bash_profile 文件中,以实现永久配置(建议)。
echo 'export SDKMAN_DIR="/d/JavaDev/sdkman"' >> ~/.bashrc
添加环境变量到配置文件后,需要重新加载配置文件使其生效:
source ~/.bashrc
然后验证环境变量是否设置成功:
echo $SDKMAN_DIR
如果输出 /d/JavaDev/sdkman,则表示环境变量配置成功。

