在 gradle 的子项目中的根项目中定义的依赖项会发生什么情况



我有一个包含多个子项目的 gradle 项目。我在根项目中定义了几个带有版本号的依赖项,但并非所有子项目都使用所有这些依赖项。

root
- build.gradle
    - compile 'math:math:1.0.0'
- settings.gradle
    - include 'messages'
    - include 'message-handler'
 messages
    - build.gradle
        - //no math
 message-handler
    - build.gradle
        - compile 'math:math'

消息项目的工件是否包含对数学库的依赖关系?

换句话说,如果我创建一个依赖于 nexus 存储库中的消息工件的单独项目,我的依赖树会显示这个新项目的数学库吗?

是的

- 您的消息项目工件将包含对数学库的依赖关系。

根据 Gradle 文档:

对于大多数多项目构建,有一些配置是 所有项目通用。在我们的示例中,我们将定义这个通用 根项目中的配置,使用名为 配置注入。在这里,根项目就像一个容器 子项目方法迭代了这个元素 容器 - 本实例中的项目 - 并注入指定的 配置

换句话说,根项目中包含的每个配置都将适用于所有子项目。

相关内容