如何在gradle中找到传递依赖的来源?

时间:2015-06-23 15:00:46

标签: gradle dependency-management

通常情况下,我希望Gradle中的依赖项任务可以帮助我解决这个问题。现在,当我打印依赖关系树时,我遇到了这个问题:

xml-apis:xml-apis:1.4.01 -> 2.0.2
xml-apis:xml-apis:1.3.04 -> 2.0.2

我有很多这些行,其中1.3.04和1.4.01被覆盖,但是,我没有明确显示对2.0.2版本的直接或传递依赖的行。

如果依赖关系树中没有xml-apis:xml-apis:2.0.2的行,那么2.0.2可以来自何处?

怎么可能?

2 个答案:

答案 0 :(得分:3)

它在某处,尝试运行gradle dependencyInsight --dependency xml-apis来查找。

答案 1 :(得分:0)

这可以是Gradle自定义ResolutionStrategy正在工作:https://docs.gradle.org/2.4/userguide/dependency_management.html#N15583https://docs.gradle.org/2.4/dsl/org.gradle.api.artifacts.ResolutionStrategy.html。可以指示使用任意库的任意版本,即使该版本不会出现在依赖关系树中的任何位置。它还可以将一个库替换为另一个库(例如log4jlog4j-over-slf4j)。