如何找到依赖于另一个工件的工件?

Posted

技术标签:

【中文标题】如何找到依赖于另一个工件的工件?【英文标题】:How to find the artifacts that depend on another artifact? 【发布时间】:2011-06-08 12:55:58 【问题描述】:

我们使用 Maven 来构建我们的项目,并使用 Nexus 作为存储库管理器。

有没有办法知道一个工件在哪里是另一个工件的依赖项?

例如,我们想知道我们的 Release 存储库中的哪些工件依赖于 commons-io 1.2,或者我们的 framework2 的 x.y 版本,或者...

【问题讨论】:

How to generate a graph of the dependency between all modules of a Maven project?的可能重复 【参考方案1】:

mvn dependency:tree 应该可以帮助您获取此信息。

【讨论】:

这只会获取我们运行命令的项目的信息。我们希望某个工件知道它在我们的“发布”存储库的所有工件中用作依赖项的位置。【参考方案2】:

您是否结合Maven Project Info Reports plugin 的dependencies 和dependencies-convergence 报告查看了Maven Site plugin?

这将生成一个 html 报告,其中显示项目使用的所有工件以及依赖于该工件的其他工件。

【讨论】:

结果不考虑依赖的范围,即测试范围的依赖列在编译和运行时依赖旁边,使得结果没有真正的帮助。有什么改进的办法吗?文档没有为此列出参数。具有所有范围的全功能解决方案会很好,但目前真正的编译依赖项就足够了。【参考方案3】:

Maven 客户端只会告诉您单个项目的依赖关系。我建议在构建过程中使用Sonar。它主要用于源代码分析,但也会报告同一 Sonar 数据库中其他项目对特定库的使用情况。

【讨论】:

以上是关于如何找到依赖于另一个工件的工件?的主要内容,如果未能解决你的问题,请参考以下文章

如何使一个 Maven 模块依赖于另一个?

ejb与客户端工件 - 运行时依赖?

如何在SBT中发布之前检查工件是否存在

如何使用企业 Ivy 实例进行 Grails 依赖管理来解决内部工件

当它们包含我创建的工件时,如何指示 maven 自动添加依赖项 jar?

无法读取工件描述符:IntelliJ