Gradle 多项目传递依赖关系
2022-09-04 03:28:44
我有三个项目。说 和 。gradleProjectAProjectBProjectC
ProjectC同时依赖于 和 。虽然依赖于 。ProjectAProjectBProjectBProjectA
所以 有以下几行:ProjectCbuild.gradle
dependencies {
implementation project(':ProjectA')
implementation project(':ProjectB')
}
和 's 具有以下特性:ProjectBbuild.gradle
dependencies {
implementation project(':ProjectA')
}
我的问题是,为什么我需要为 中的 构建文件 显式声明?implementationProjectAProjectC
由于,我正在添加,不应该自动包含,因为依赖于?ProjectBProjectAProjectBProjectA
换句话说,为什么以下内容不起作用?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.
我错过了什么吗?