首页 > 解决方案 > Gradle中相互依赖的多模块子项目

问题描述

我对 Gradle 中的多模块子项目有疑问,子 probject 可以相互依赖吗?

例如以下项目:

root
|___ project1
|___ project2
|___ project3

project1 和 project2 可以相互依赖吗?

在:build.gradle_project1

dependencies {
       compile project(':project2')
}

在:build.gradle_project2

dependencies {
       compile project(':project1')
}

我是 gradle 新手,这行得通吗?

标签: gradlebuild.gradle

解决方案


行得通吗?

简短的回答:没有

详细回答

它不是 Gradle 特有的,它被称为循环依赖。这很糟糕,它会阻止编译。project1需要project2,所以它需要project2在之前构建。project2需要project1,所以它需要project1在之前构建。你看到问题了吗?

有很多方法可以解决循环依赖关系,具体取决于您的架构。在您的简单示例中,也许project1并且project2应该属于同一个项目。


推荐阅读