mcpField
M
maven-search

maven-search

github.com/partme-ai开发71698 次安装3 周前更新
代码仓库

关于 maven-search

maven-search 是用于查找和处理 Maven Central 组件的技能,借助仓库 API 与示例指引搜索、核验坐标和版本、获取构件并分析依赖。

主要功能

  1. 01按名称或坐标搜索组件
  2. 02查看版本及版本历史
  3. 03获取 JAR、POM、源码和 Javadoc
  4. 04检查依赖树与 POM 文件
  5. 05核验 Maven 坐标

适用场景

  1. 01查找库的 Maven 坐标
  2. 02查询组件的可用版本
  3. 03下载构件或其文档
  4. 04检查传递依赖

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/partme-ai/full-stack-skills --skill maven-search

安装后在 Claude Code 中输入/maven-search确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE.txt
api/
maven-central-api.md
examples/
analyze-dependencies.md
download-artifact.md
get-version-info.md
search-by-coordinates.md
search-by-name.md
verify-coordinates.md
reference/
maven-coordinates.md

详细介绍

何时使用此技能

用户提到以下内容时,始终使用此技能:

  • 搜索 Maven 依赖或组件
  • 查找 Maven 坐标(groupId、artifactId、version)
  • 检查组件版本或版本历史
  • 获取 Maven 构件(JAR、POM、sources、Javadoc)
  • 验证 Maven 依赖坐标
  • 分析依赖树或传递依赖
  • 使用 Maven Central Repository
  • 任何与 Maven 组件、库或依赖相关的请求

触发短语包括:

  • “查找 Maven 依赖”(find Maven dependency)、“搜索 Maven 组件”(search Maven component)
  • “Maven 坐标”(Maven coordinates)、“groupId”(groupId)、“artifactId”(artifactId)
  • “Maven 版本”(Maven version)、“最新版本”(latest version)、“版本历史”(version history)
  • “Maven Central”(Maven Central)、“Maven 仓库”(Maven repository)
  • “下载 Maven 依赖”(download Maven dependency)、“获取 POM 文件”(get POM file)
  • “依赖树”(dependency tree)、“传递依赖”(transitive dependencies)
  • 提及“Maven”“dependency”“artifact”“repository”或“coordinates”

如何使用此技能

重要:当用户需要搜索、检索或处理 Maven Central Repository 中的 Maven 组件时,应触发此技能。

遇到以下情况时触发此技能:

  • 用户说“查找 Maven 依赖”或“搜索 Maven 组件”
  • 用户需要 Maven 坐标(groupId、artifactId、version)
  • 用户想检查组件版本或检索构件
  • 用户提及 Maven Central Repository 或 Maven 依赖
  • 用户需要分析依赖或验证坐标

搜索 Maven 组件:

  1. 根据用户的请求确定搜索类型:

    • 按名称搜索 → 使用 Maven Central Search API
    • 获取指定版本 → 使用直接仓库 URL
    • 检查最新版本 → 查询 maven-metadata.xml
    • 分析依赖 → 解析 POM 文件
    • 下载构件 → 使用直接下载 URL
  2. 从 examples/ 目录加载合适的示例文件:

    • examples/search-by-name.md - 按名称或关键词搜索组件
    • examples/search-by-coordinates.md - 按 groupId 和 artifactId 搜索
    • examples/get-version-info.md - 获取版本信息和历史记录
    • examples/download-artifact.md - 下载 JAR、POM、sources 或 Javadoc
    • examples/analyze-dependencies.md - 分析依赖树
    • examples/verify-coordinates.md - 验证 Maven 坐标是否有效
  3. 按照该示例文件中的具体说明使用 API 端点、参数和最佳实践

  4. 使用 Maven Central Repository API:

    搜索 API(https://search.maven.org/solrsearch/select):

    • 查询参数:q - 搜索查询(例如,g:com.google.guava AND a:guava)
    • Rows 参数:rows - 结果数量(默认值:20,最大值:200)
    • Start 参数:start - 分页偏移量
    • Core 参数:core - 搜索核心(默认值:gav)

    直接访问仓库(https://repo1.maven.org/maven2/):

    • 路径格式:{groupId}/{artifactId}/{version}/{artifactId}-{version}.{extension}
    • GroupId 路径:将点替换为斜杠(例如,com.google.guava → com/google/guava)
    • 元数据:用于获取版本信息的 maven-metadata.xml
    • POM 文件:{artifactId}-{version}.pom
    • JAR 文件:{artifactId}-{version}.jar
    • Sources:{artifactId}-{version}-sources.jar
    • Javadoc:{artifactId}-{version}-javadoc.jar
  5. 构造合适的 URL:

    搜索示例:

    https://search.maven.org/solrsearch/select?q=g:com.google.guava+AND+a:guava&rows=20&wt=json
    

    直接访问示例:

    https://repo1.maven.org/maven2/com/google/guava/guava/maven-metadata.xml
    https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0/guava-33.0.0.pom
    https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0/guava-33.0.0.jar
    
  6. 解析并整理结果:

    • 提取相关信息(groupId、artifactId、version、描述)
    • 按标准 Maven 格式整理坐标:groupId:artifactId:version
    • 以清晰、结构化的格式展示结果
    • 在相关时附上下载链接和元数据
  7. 验证坐标:

    • 验证 groupId 格式(应采用反向域名表示法)
    • 检查 artifactId 格式(应为小写,并以连字符分隔)
    • 验证版本格式(优先使用语义化版本)
    • 提供下载链接前确认构件存在

输出格式要求:

  • 始终按标准格式提供 Maven 坐标:groupId:artifactId:version
  • 在相关时包含直接下载 URL
  • 以清晰、结构化的表格或列表展示搜索结果
  • 在可用时提供元数据信息(描述、仓库、最后更新时间)
  • 查询版本时包含版本信息和发布日期

Maven Central Repository 结构

仓库基础 URL
路径结构
{groupId}/{artifactId}/{version}/{artifactId}-{version}.{extension}

示例:

com/google/guava/guava/33.0.0/guava-33.0.0.jar
可用构件
  • POM:{artifactId}-{version}.pom - 项目对象模型文件
  • JAR:{artifactId}-{version}.jar - 已编译的 Java 类
  • Sources:{artifactId}-{version}-sources.jar - 源代码
  • Javadoc:{artifactId}-{version}-javadoc.jar - API 文档
  • Metadata:maven-metadata.xml - 版本和发布信息

搜索 API 参数

查询语法
  • 按 GroupId 搜索:g:com.google.guava
  • 按 ArtifactId 搜索:a:guava
  • 按版本搜索:v:33.0.0
  • 组合搜索:g:com.google.guava AND a:guava
  • 文本搜索:guava(在 groupId、artifactId 和描述中搜索)
响应格式
  • JSON:wt=json(默认)
  • XML:wt=xml
  • Java properties:wt=javabin
分页
  • rows:每页结果数(默认值:20,最大值:200)
  • start:分页偏移量(默认值:0)

最佳实践

  1. 始终验证坐标:使用前检查 groupId、artifactId 和版本是否存在
  2. 使用最新稳定版本:优先选择 RELEASE 版本,而非 SNAPSHOT 版本
  3. 检查版本元数据:查询 maven-metadata.xml 以获取最新版本信息
  4. 下载前验证:提供下载链接前,先确认构件存在
  5. 提供校验和:如有,提供 SHA-1 和 MD5 校验和以供验证
  6. 正确格式化坐标:始终使用标准 Maven 格式 groupId:artifactId:version
  7. 提供上下文:如有,附上描述、仓库信息和最后更新时间

常见任务

任务 1:按名称搜索

使用 Search API 通过文本查询,按名称或关键词查找组件。

示例:

GET https://search.maven.org/solrsearch/select?q=guava&rows=20&wt=json
任务 2:按坐标搜索

使用 Search API 通过 groupId 和 artifactId 查找特定组件。

示例:

GET https://search.maven.org/solrsearch/select?q=g:com.google.guava+AND+a:guava&rows=20&wt=json
任务 3:获取版本信息

查询 maven-metadata.xml,获取所有可用版本和最新版本。

示例:

GET https://repo1.maven.org/maven2/com/google/guava/guava/maven-metadata.xml
任务 4:下载构件

为指定构件构造直接下载 URL。

示例:

GET https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0/guava-33.0.0.jar
任务 5:分析依赖项

下载并解析 POM 文件,提取依赖项信息。

示例:

GET https://repo1.maven.org/maven2/com/google/guava/guava/33.0.0/guava-33.0.0.pom

关键词

英文关键词: maven, maven central, maven repository, maven dependency, maven artifact, maven component, groupId, artifactId, version, coordinates, pom, jar, dependency, repository, search, retrieve, download, metadata, transitive dependencies, dependency tree, maven coordinates, maven search

中文关键词(中文关键词): Maven, Maven 中央仓库, Maven 仓库, Maven 依赖, Maven 组件, Maven 坐标, groupId, artifactId, version, 版本, 坐标, POM, JAR, 依赖, 仓库, 搜索, 检索, 下载, 元数据, 传递依赖, 依赖树, 查找依赖, 搜索组件, 获取版本, 下载依赖

资源

评论

支持 Markdown