如何找到依赖于另一个工件的工件?
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 数据库中其他项目对特定库的使用情况。
【讨论】:
以上是关于如何找到依赖于另一个工件的工件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用企业 Ivy 实例进行 Grails 依赖管理来解决内部工件