如何从root向孙子项目添加依赖项?

时间:2016-01-16 01:57:13

标签: gradle

我有一个多级嵌套项目,它有3个级别,我想从根项目build.gradle文件中添加第3级依赖项。我该怎么做?

例如,我有以下项目结构。 GP(GrandParent)位于根,P1和P2是GP下的直接子项目,GC1和GC2是P1下的子项目,GC3和GC4是P2下的子项目。

GP
| ____ P1
........... | ____ GC1
........... | ____ GC2

| ____ P2
............ ____ GC3
.......... | ____ GC4

从GP的build.gradle中,我想向GC1,GC2,GC3和GC4添加依赖项。所以我在GP的build.gradle中尝试了以下内容:

configure(subprojects) {
   compile group: 'org.slf4j', name: 'jul-to-slf4j', version: '1.7.7'
}

尝试处理GC1,GC2,GC3或GC4时,此消息失败,但是传递给P1和P2。

  

没有方法签名:org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile()适用于参数类型:(org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection)值: [档案馆藏]     可能的解决方案:module(java.lang.Object)

我的settings.gradle

include 'P1', 'P1:GC1', 'P1:GC2',...

1 个答案:

答案 0 :(得分:0)

这是来自gradle的正确信息。的确,没有这样的方法。您缺少的是dependencies块。所以它应该是:

configure(subprojects) {
  dependencies {
    compile group: 'org.slf4j', name: 'jul-to-slf4j', version: '1.7.7'
  }
}

Here你可以找到一个演示。运行gradle :P1:GC1:printDeps以验证其是否有效。