如何排除父定义的 compile project
依赖项?
模块结构如下:
- build.gradle
- settings.gradle
- MAIN_MODULE_1
- build.gradle
- MODULE1
- build.gradle
- MODULE2
- build.gradle
- MODULE3
- build.gradle
- MODULE4
- build.gradle
依赖模型应该是:
- MODULE1 <- MAIN_MODULE_1
- MODULE2 <- MAIN_MODULE_1
- MODULE3 <- MAIN_MODULE_1
- MODULE4 <- MAIN_MODULE_1
也就是说,有
// build.gradle
subprojects {
apply plugin: 'java'
dependencies {
compile project('MAIN_MODULE_1')
}
}
// settings.gradle
include ':MAIN_MODULE_1'
include ':MODULE1'
include ':MODULE2'
include ':MODULE3'
include ':MODULE4'
将创建 MAIN_MODULE_1
对自身的循环依赖,这是错误的。
并且在每个模块中都有依赖(总数不是 4,而是 120)对我来说似乎是错误的。
最佳答案
您可以使用配置 block :
project(':MAIN_MODULE_1') {
apply plugin: 'java'
}
configure(subprojects - project(':MAIN_MODULE_1')) {
apply plugin: 'java'
dependencies {
compile project('MAIN_MODULE_1')
}
}
答案来自另一个问题 Gradle exclude plugin in main project for specific subproject(s)
关于java - Gradle - 子项目排除父定义的项目依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22387492/