Maven搜索API无法获取Google仓库依赖 如何通过API查询非中央仓库依赖
问题根因
你当前调用的是Maven中央仓库专属的搜索接口,仅能检索存储在Maven中央仓的依赖资源。你在网页端查询的第三方聚合站点会同时收录中央仓、Google Maven仓等多个公共仓库的依赖信息,因此会出现网页可查但中央仓API无结果的情况。
编程实现多仓库依赖查询的方案
方案1:按Maven坐标规则直接校验存在性
所有公共Maven仓库的资源路径都遵循统一的规则,你可以提前配置好要查询的目标仓库根地址,按以下规则拼接资源路径:
- 将groupId的
.替换为路径分隔符/ - 依次拼接artifactId、version、
artifactId-version.pom - 对拼接后的完整地址发送HEAD请求,若返回状态码为200则说明对应版本的依赖在该仓库存在
这个方案适配所有公开的Maven仓库,无需依赖额外的搜索接口,兼容性最高。
方案2:对接多仓库聚合搜索接口
如果你需要同时查询多个仓库的依赖,可以直接使用支持多仓库检索的公开聚合搜索接口,调用时传入目标仓库标识、依赖的groupId、artifactId、version参数即可直接获取匹配结果。
内容的提问来源于stack exchange,提问作者Abd
相关产品推荐
相关产品推荐

