mcpField
M
maven-search

maven-search

github.com/full-stack-skills开发749 次安装4 周前更新
代码仓库

关于 maven-search

面向处理 Java 依赖的开发者的 Maven Central 检索技能,支持查找组件、核对坐标与版本、获取制品及分析依赖。它提供按任务选择 API 或仓库地址的操作流程。

主要功能

  1. 01按名称或坐标搜索组件
  2. 02查询版本信息与历史
  3. 03获取 JAR、POM、源码和 Javadoc
  4. 04验证 Maven 坐标
  5. 05解析 POM 分析依赖关系

适用场景

  1. 01查找 Maven 组件并确认坐标
  2. 02检查组件版本及版本历史
  3. 03下载指定版本的制品
  4. 04查看传递依赖关系

安装

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

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

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

包含的文件

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

LICENSE.txt
agents/
openai.yaml
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、源代码或 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
    • 源代码:{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