Maven搜索Skill maven-search

此技能用于帮助开发者在Maven中央仓库中高效搜索、检索和管理Maven组件与依赖。它支持按坐标、名称、版本等多种方式搜索,能获取元数据、下载文件、分析依赖树,并验证坐标有效性。关键词:Maven搜索、依赖管理、Java开发、DevOps工具、软件构建、仓库检索。

DevOps 0 次安装 0 次浏览 更新于 3/21/2026

name: maven-search description: 提供全面的指导,用于从Maven中央仓库(https://repo1.maven.org/maven2/)搜索和检索Maven组件。此技能支持按groupId、artifactId、version等坐标搜索,检索组件元数据(POM文件、JARs、源代码、Javadoc),查询版本历史,以及分析依赖。当用户需要查找、验证或检索Maven依赖、检查组件版本、分析依赖树或处理Maven坐标时使用。 license: 完整条款见LICENSE.txt

何时使用此技能

始终使用此技能当用户提及:

  • 搜索Maven依赖或组件
  • 查找Maven坐标(groupId、artifactId、version)
  • 检查组件版本或版本历史
  • 检索Maven构件(JAR、POM、源代码、Javadoc)
  • 验证Maven依赖坐标
  • 分析依赖树或传递依赖
  • 处理Maven中央仓库
  • 任何与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中央仓库搜索、检索或处理Maven组件时,应触发此技能。

触发此技能当您看到:

  • 用户说"查找 Maven 依赖"(find Maven dependency)、“搜索 Maven 组件”(search Maven component)
  • 用户需要Maven坐标(groupId、artifactId、version)
  • 用户想检查组件版本或检索构件
  • 用户提及Maven中央仓库或Maven依赖
  • 用户需要分析依赖或验证坐标

搜索Maven组件:

  1. 从用户请求识别搜索类型:

    • 按名称搜索 → 使用Maven中央搜索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中央仓库API:

    搜索APIhttps://search.maven.org/solrsearch/select):

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

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

    • 路径格式:{groupId}/{artifactId}/{version}/{artifactId}-{version}.{extension}
    • GroupId路径:将点替换为斜杠(例如,com.google.guavacom/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中央仓库结构

仓库基础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类
  • 源代码{artifactId}-{version}-sources.jar - 源代码
  • Javadoc{artifactId}-{version}-javadoc.jar - API文档
  • 元数据maven-metadata.xml - 版本和发布信息

搜索API参数

查询语法

  • GroupId搜索g:com.google.guava
  • ArtifactId搜索a:guava
  • Version搜索v:33.0.0
  • 组合搜索g:com.google.guava AND a:guava
  • 文本搜索guava(在groupId、artifactId和描述中搜索)

响应格式

  • JSONwt=json(默认)
  • XMLwt=xml
  • Java属性wt=javabin

分页

  • rows:每页结果数(默认:20,最大:200)
  • start:分页偏移(默认:0)

最佳实践

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

常见任务

任务1:按名称搜索

使用搜索API和文本查询,按名称或关键词查找组件。

示例:

GET https://search.maven.org/solrsearch/select?q=guava&rows=20&wt=json

任务2:按坐标搜索

使用搜索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, 依赖, 仓库, 搜索, 检索, 下载, 元数据, 传递依赖, 依赖树, 查找依赖, 搜索组件, 获取版本, 下载依赖

资源