sdk管理工具之sdkman
SDKMAN(Software Development Kit Manager)的命令行界面核心存储库,它是一个在 Unix 类系统(如 Linux, macOS, WSL 等)上非常流行的软件开发工具包(SDK)版本管理器,特别常用于 Java 生态系统(包含 Java JDK、Groovy、Scala、Kotlin、Gradle、Maven 等)。
1. 核心功能与痛点解决
在没有此类管理工具前,开发者需要频繁地去各官网下载 JDK 或构建工具,解压、手动配置 JAVA_HOME 和 PATH 环境变量,并在不同项目需要不同版本时手动修改。
- 多版本并存:允许在同一台机器上安装多个不同版本的候选软件(如同时安装 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" 即可开始使用。