You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Maven或Artifactory查找指定依赖包的所有引用?

查询引用superlibary.jar的项目的两种方案

方案一:通过Artifactory内置功能查询(推荐)

这是最高效的方案,无需拉取项目源码,直接基于Artifactory存储的构建信息搜索:

  • 第一步先确认superlibary.jar对应的Maven坐标,包括groupId、artifactId、version,如果坐标信息不明确,可以先在Artifactory仓库中搜索该jar包,进入详情页即可查看完整坐标。
  • 第二步使用Artifactory的依赖搜索功能:
    • 7.x及以上版本的Artifactory可直接进入全局搜索页面,切换到「依赖」标签,依次输入对应的groupId、artifactId以及需要查询的版本,点击搜索后即可得到所有引入该依赖的构建产物记录,对应的关联项目即为引用了该jar的项目。
    • 若内部项目发布时均已配置上传构建信息到Artifactory,还可以切换到「构建搜索」标签,按依赖维度筛选,可直接得到对应项目的名称、分支、发布版本等更详细的信息。
  • 如果需要批量导出全量结果,可使用Artifactory AQL查询语法,在AQL控制台执行如下语句即可:
items.find(
  {
    "@dependencies.groupId": "替换为superlibary的groupId",
    "@dependencies.artifactId": "替换为superlibary的artifactId",
    "@dependencies.version": "替换为需要查询的版本号"
  }
).include("@dependencies", "name", "path", "modified")

方案二:通过Maven批量遍历查询

如果你的Artifactory未开启构建信息收集功能,可通过Maven批量拉取项目查询:

  • 提前将所有存储在Artifactory的内部应用源码拉取到本地同一个根目录下。
  • 编写批量遍历脚本,依次进入每个项目的根目录,执行如下命令:
    mvn dependency:tree -Dincludes=替换为superlibary的groupId:替换为artifactId -Dmaven.test.skip=true
  • 若命令执行后有输出内容,说明该项目存在对superlibary.jar的依赖(包含直接依赖和间接依赖),汇总所有有输出的项目即可得到完整清单。

注意:两种方案均可以命中直接依赖和间接引入superlibary.jar的项目,无需额外适配。

内容的提问来源于stack exchange,提问作者Mr Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 01:06:05