通常情况下,我希望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可以来自何处?
怎么可能?
答案 0 :(得分:3)
它在某处,尝试运行gradle dependencyInsight --dependency xml-apis
来查找。
答案 1 :(得分:0)
这可以是Gradle自定义ResolutionStrategy
正在工作:https://docs.gradle.org/2.4/userguide/dependency_management.html#N15583,https://docs.gradle.org/2.4/dsl/org.gradle.api.artifacts.ResolutionStrategy.html。可以指示使用任意库的任意版本,即使该版本不会出现在依赖关系树中的任何位置。它还可以将一个库替换为另一个库(例如log4j
和log4j-over-slf4j
)。