Gradle 多项目传递依赖关系
2022-09-04 03:28:44
我有三个项目。说 和 。gradle
ProjectA
ProjectB
ProjectC
ProjectC
同时依赖于 和 。虽然依赖于 。ProjectA
ProjectB
ProjectB
ProjectA
所以 有以下几行:ProjectC
build.gradle
dependencies {
implementation project(':ProjectA')
implementation project(':ProjectB')
}
和 's 具有以下特性:ProjectB
build.gradle
dependencies {
implementation project(':ProjectA')
}
我的问题是,为什么我需要为 中的 构建文件 显式声明?implementation
ProjectA
ProjectC
由于,我正在添加,不应该自动包含,因为依赖于?ProjectB
ProjectA
ProjectB
ProjectA
换句话说,为什么以下内容不起作用?ProjectC
dependencies {
implementation project(':ProjectB')
}
我是新手,因此试图理解项目工作之间的依赖关系管理。gradle
编辑:
所以我想把 build.gradle 改成下面:ProjectB
dependencies {
api project(':ProjectA')
}
这样我就可以把 build.gradle 简化为:ProjectC
dependencies {
implementation project(':ProjectB')
}
但是,我收到以下错误:
A problem occurred evaluating project ':ProjectB'.
> Could not find method api() for arguments [:ProjectA] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
我错过了什么吗?