什么是SDKMAN?
SDKMAN(Software Development Kit Manager)是一款专为Java开发者设计的命令行工具,用于轻松管理多个SDK版本。它支持Java、Scala、Kotlin等JVM语言以及Maven、Gradle、Spring Boot CLI等常用工具,堪称Java开发者的瑞士军刀。
核心优势
- 🌟 多版本共存:无缝切换不同版本的JDK、构建工具等
- 🚀 一键安装:自动下载、安装、配置环境变量
- 📦 生态丰富:支持50+个Java相关SDK(如Java/Kotlin/Scala/Maven/Gradle等)
- 🔄 跨平台:支持Linux/macOS/WSL,通过WSL也可用于Windows
- 💡 操作简单:简洁的CLI命令,学习成本极低
安装指南(30秒极速安装)
打开终端执行以下命令:
curl -s "https://get.sdkman.io" | bash
安装完成后重启终端或执行:
source "$HOME/.sdkman/bin/sdkman-init.sh"
验证安装:
sdk version
基础使用手册
1. 查看可用软件包
sdk list
2. 安装工具(以Java为例)
# 查看可用Java版本
sdk list java
# 安装指定版本(示例安装Java17)
sdk install java 17.0.8-tem
# 安装最新稳定版
sdk install java
3. 版本切换
sdk use java 11.0.20-amzn
4. 查看当前版本
sdk current
5. 升级与卸载
# 升级所有已安装SDK
sdk upgrade
# 卸载指定版本
sdk uninstall java 8.0.382-amzn
高级技巧
设置默认版本
sdk default java 17.0.8-tem
版本别名(简化操作)
sdk install java 17.0.8-tem alias jdk17
sdk use jdk17
临时使用版本(仅当前会话)
sdk env init # 生成.sdkmanrc
sdk env # 根据当前目录配置切换版本
离线模式
sdk offline enable # 禁用自动更新
sdk offline disable # 恢复在线
典型应用场景
- 多项目开发:A项目用Java8,B项目用Java17
- CI/CD环境:快速配置特定版本构建环境
- 工具测试:对比不同Gradle版本的表现
- 教学演示:快速切换演示环境
为什么选择SDKMAN?
- ✅ 彻底告别手动配置JAVA_HOME
- ✅ 避免系统级污染,所有SDK存储在
~/.sdkman
目录 - ✅ 版本切换实时生效,无需重启终端
- ✅ 自动处理依赖关系
💡 注意事项:
- 切换Java版本后可能需要重新配置IDE
- 建议将
.sdkman
目录加入定期备份列表- 使用
archlinux
等特殊发行版时需要手动配置依赖
立即体验:
sdk env
官方文档:https://sdkman.io/usage
这篇指南覆盖了SDKMAN的核心功能和使用场景,你可以根据实际需求调整内容深度或添加具体示例。需要补充其他内容或调整结构可以随时告诉我!