sdk管理工具之sdkman

SDKMAN(Software Development Kit Manager)的命令行界面核心存储库,它是一个在 Unix 类系统(如 Linux, macOS, WSL 等)上非常流行的软件开发工具包(SDK)版本管理器,特别常用于 Java 生态系统(包含 Java JDK、Groovy、Scala、Kotlin、Gradle、Maven 等)。


1. 核心功能与痛点解决

在没有此类管理工具前,开发者需要频繁地去各官网下载 JDK 或构建工具,解压、手动配置 JAVA_HOMEPATH 环境变量,并在不同项目需要不同版本时手动修改。

  • 多版本并存:允许在同一台机器上安装多个不同版本的候选软件(如同时安装 Java 8, Java 11, Java 17, Java 21)。
  • 极简切换:只需一条命令,即可在全局或当前终端(Shell)会话中切换正在使用的软件版本。
  • 自动配置:安装、卸载、更新和环境变量设置全部由工具自动处理,无需手动干预 ~/.bashrc~/.zshrc

2. 主要命令与使用场景

SDKMAN! 的命令行调用以 sdk 开头,常用操作包括:

  • 查看可用软件sdk list(展示所有支持的开发工具,如 java, gradle, maven 等)。

  • 安装软件sdk install java 21.0.2-tem(一键下载并安装特定发行版的特定版本)。

  • 切换版本

  • sdk use java 17.0.10-tem(仅在当前终端窗口临时切换)。

  • sdk default java 21.0.2-tem(将该版本设为全局默认版本)。

  • 查看当前版本sdk current java

  • 项目环境自动切换:在项目根目录下通过 sdk env init 生成 .sdkmanrc 文件,后续进入该目录执行 sdk env 即可自动切换到项目所需的指定版本。

3. 项目安装

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

按照提示重启终端或运行 source "$HOME/.sdkman/bin/sdkman-init.sh" 即可开始使用。