Gradle如何处理多模块项目中的依赖冲突

时间:2019-09-14 13:41:51

标签: gradle dependencies dependency-management

我在gradle文档中读到,默认情况下已完成依赖项冲突解决,以便gradle选择lib的最新版本。 我注意到在一个看起来不错的简单项目中。尽管在多模块项目中,每个模块似乎都可以单独解决其依赖性。

示例:

- Module-A:
  Dependency-C -> Transitive-Dependency-Y-Version1
  Dependency-D -> Transitive-Dependency-Y-Version2  <<<< this one is chosen for the module
- Module-B:
  Dependency-E -> Transitive-Dependency-Y-Version1
  Dependency-F -> Transitive-Dependency-Y-Version3  <<<< this one is chosen for the module

但是最后它将同时添加到Transitive-Dependency-Y-Version3Transitive-Dependency-Y-Version2的类路径中

为什么会这样?是否有一种方法可以告诉gradle在整个项目中仅对每种可传递依赖项类型使用一个版本(而无需一个个地强制执行)?

0 个答案:

没有答案