SDKMAN 交互式命令行工具
为 SDKMAN(软件开发工具包管理器)提供交互式命令行界面,使浏览、筛选和安装 SDK 更加便捷。
中文文档
功能特性
- 交互式版本选择,支持格式化显示
- 通过关键词筛选版本(例如 "21" 可筛选 Java 21)
- 支持所有 SDKMAN 候选工具(如 Java、Kotlin、Gradle 等)
- 全面的命令行接口
- 用户友好的版本信息展示
环境要求
- Python 3.6 及以上版本
- 已安装并配置 SDKMAN
- Bash shell 环境
安装步骤
克隆本仓库:
使用指南
作为 Python 模块使用
命令行接口
本工具提供开箱即用的脚本:
通用 SDK 安装器
安装任意 SDKMAN 候选工具:
JDK 专用安装器
主命令行工具
模块也可直接运行:
与 AI 助手集成(MCP 支持)
SDKMAN 交互式 CLI 可集成支持模型上下文协议(MCP)的 AI 助手,使您能够通过对话直接管理 SDK。
与 Claude Desktop 集成
要在 Claude Desktop 中使用本工具,请编辑 Claude 配置文件:
- MacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%/Claude/claude_desktop_config.json
添加以下配置:
与其他 MCP 兼容 AI 助手集成
对于其他支持 MCP 的 AI 助手:
- 配置助手以本模块作为 MCP 服务器
- 提供模块路径:
src.sdkman_mcp.sdk_commands
- 确保环境可访问您的 SDKMAN 安装
可用 MCP 命令
集成 MCP 后,您可以使用自然语言与 SDKMAN 交互:
- "列出可用的 Java 版本"
- "安装 Java 21"
- "显示当前安装的 SDK"
- "将 Gradle 更新到最新版本"
- "将 Java 17 设为默认版本"
AI 助手将解释这些命令并使用相应的 SDKMAN 功能执行。
示例输出
运行交互式安装器时,您将看到格式化的可用版本列表:
API 参考
模块提供以下函数:
sdk_interactive_install(candidate, search_version=None)
:交互式安装
parse_sdk_versions(output, search_version=None)
:解析 SDK 版本列表
- 其他标准 SDKMAN 函数(list、install、current 等)
工作原理
本工具通过以下方式增强 SDKMAN 的交互体验:
- 通过 shell 执行 SDKMAN 命令
- 解析并格式化输出
- 提供交互式选择界面
- 处理安装过程中的确认步骤
故障排除
常见问题及解决方案:
- SDKMAN 未找到:确保 SDKMAN 已正确安装在
~/.sdkman
或设置SDKMAN_DIR
环境变量
- 权限被拒绝:检查 SDKMAN 脚本是否具有执行权限
- 命令未找到:确保系统已安装 bash(运行 SDKMAN 命令需要)
- MCP 集成问题:检查 AI 助手是否具有执行命令的适当权限
贡献指南
欢迎贡献!请随时提交 Pull Request。
许可证
本项目采用 MIT 许可证 - 详见 LICENSE 文件。
致谢
- SDKMAN - 软件开发工具包管理器
- 所有为本项目做出贡献的开发者
- 作者:WaytoMCP
- 链接:https://waytomcp.com/article/ocean-zhc/sdkman-mcp
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。