Gradle 将多模块项目中的嵌套子项目添加为另一个子项目的依赖项
Gradle add nested subproject from a multi-module project as dependency of another subproject
我有一个复杂但有趣的情况。这是我的文件夹结构的树状图:
root
|___ settings.gradle
|___ p1
|___ p2 // depends on p3/sp1
|___ p3
|____|___sp1
|____|___sp2
我希望能说明情况。
现在如何将 sp1
添加为 p2
的依赖项?
到目前为止,在我的根 setting.gradle
中,我有
rootProject.name = root
include 'p1'
include 'p2'
include 'p3'
在p2
build.gradle中,我有:
dependencies {
compile project (':p3:sp1')
}
但是这样做仍然没有解决p2
中的依赖关系;我仍然收到有关缺少定义的错误。
我该如何解决这个问题?
顺便说一句,我将如何解决 sp1
可能有的其他依赖项。就像它取决于 sp2
,即使它已经在 p3
中解决,我是否需要以某种方式声明它?
假设项目 sp1
和 sp2
是项目 p3
的 subprojects
,如果您想这样做:
dependencies {
compile project(':p3:sp1')
}
然后您需要将 settings.gradle
更改为:
rootProject.name = root
include ':p1'
include ':p2'
include ':p3' // Keep this if this folder contains a build.gradle
include ':p3:sp1'
include ':p3:sp2'
只是为那些可能正在寻找的人添加答案,在您的 settings.gradle 中您将拥有
include ':p1',':p2',':p3:sp1',':p3:sp2'
如果 sp1 依赖于 sp2
然后添加对 sp1 的 gradle 的依赖,如
dependency {
compile project(":p3:sp2")
}
我有一个复杂但有趣的情况。这是我的文件夹结构的树状图:
root
|___ settings.gradle
|___ p1
|___ p2 // depends on p3/sp1
|___ p3
|____|___sp1
|____|___sp2
我希望能说明情况。
现在如何将 sp1
添加为 p2
的依赖项?
到目前为止,在我的根 setting.gradle
中,我有
rootProject.name = root
include 'p1'
include 'p2'
include 'p3'
在p2
build.gradle中,我有:
dependencies {
compile project (':p3:sp1')
}
但是这样做仍然没有解决p2
中的依赖关系;我仍然收到有关缺少定义的错误。
我该如何解决这个问题?
顺便说一句,我将如何解决 sp1
可能有的其他依赖项。就像它取决于 sp2
,即使它已经在 p3
中解决,我是否需要以某种方式声明它?
假设项目 sp1
和 sp2
是项目 p3
的 subprojects
,如果您想这样做:
dependencies {
compile project(':p3:sp1')
}
然后您需要将 settings.gradle
更改为:
rootProject.name = root
include ':p1'
include ':p2'
include ':p3' // Keep this if this folder contains a build.gradle
include ':p3:sp1'
include ':p3:sp2'
只是为那些可能正在寻找的人添加答案,在您的 settings.gradle 中您将拥有
include ':p1',':p2',':p3:sp1',':p3:sp2'
如果 sp1 依赖于 sp2
然后添加对 sp1 的 gradle 的依赖,如
dependency {
compile project(":p3:sp2")
}