gradle - Gradle中相互依赖的多模块子项目
问题描述
我对 Gradle 中的多模块子项目有疑问,子 probject 可以相互依赖吗?
例如以下项目:
root
|___ project1
|___ project2
|___ project3
project1 和 project2 可以相互依赖吗?
在:build.gradle
_project1
dependencies {
compile project(':project2')
}
在:build.gradle
_project2
dependencies {
compile project(':project1')
}
我是 gradle 新手,这行得通吗?
解决方案
行得通吗?
简短的回答:没有
详细回答:
它不是 Gradle 特有的,它被称为循环依赖。这很糟糕,它会阻止编译。project1
需要project2
,所以它需要project2
在之前构建。project2
需要project1
,所以它需要project1
在之前构建。你看到问题了吗?
有很多方法可以解决循环依赖关系,具体取决于您的架构。在您的简单示例中,也许project1
并且project2
应该属于同一个项目。
推荐阅读
- kubernetes - 如何在 Fluend 中格式化日志,同时添加额外的文件?
- spring-boot - War File 创建重复的依赖项
- python - 关于 Scikit-learn 的特征选择回归
- sql - 将 qb.query 转换为 rawQuery?
- python - 如何在 python 中对记录器功能进行单元测试
- jenkins - Jenkinsfile,失败或改进时发送电子邮件
- java - 带有 CompletableFuture 的 ReentrantLock
- angular - 我怎样才能让 Jasmine 等待承诺被解决或拒绝?
- git - CodeBuild+GitHub - 如何在 PULL_REQUEST_MERGED 上构建分支?
- travis-ci - Travis-Ci:每天启动构建