sma*_*c89 4 dependency-management multiple-projects gradle
我有一个复杂而有趣的情况:
root
|___ p1
|___ p2 // depends on p3/sp1
|___ p3
|____|___sp1
|____|___sp2
Run Code Online (Sandbox Code Playgroud)
我希望这可以解释情况。
现在如何将sp1添加为p2的依赖项?注意所有项目都是基于gradle的。
到目前为止setting.gradle,我已经
rootProject.name = root
include 'p1'
include 'p2'
include 'p3'
Run Code Online (Sandbox Code Playgroud)
在p2build.gradle中,我有:
dependencies {
compile project (':p3:sp1')
}
Run Code Online (Sandbox Code Playgroud)
但是这样做仍然不能解决p2中的依赖关系。我仍然会收到有关缺少定义的错误。
我该如何解决?
顺便说一句,我将如何解决sp1可能具有的其他依赖关系。就像它依赖于sp2一样,即使它已在p3中解决,我也需要以某种方式声明它吗?
假设project sp1和sp2are subprojectsof project p3,如果您想执行以下操作:
dependencies {
compile project(':p3:sp1')
}
Run Code Online (Sandbox Code Playgroud)
然后,您需要将其更改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'
Run Code Online (Sandbox Code Playgroud)
只是为那些可能正在寻找的人添加答案,在您的 settings.gradle 中,您将拥有
include ':p1',':p2',':p3:sp1',':p3:sp2'
Run Code Online (Sandbox Code Playgroud)
如果 sp1 依赖于 sp2
然后添加对 sp1 的 gradle 的依赖为
dependency {
compile project(":p3:sp2")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8236 次 |
| 最近记录: |