Gradle多项目定义对根项目的依赖

时间:2013-11-08 09:49:48

标签: dependencies gradle multi-project

我有一个多项目gradle构建,以这种方式配置:

root
  |
  |---- projectA
  |
  |---- projectB

我想在root/build.gradle中声明所有嵌套项目的依赖项,这是文件:

subprojects {
      version = '1.0-SNAPSHOT'
      repositories {
           mavenLocal()
           mavenCentral()
           maven {
               url 'https://repository.jboss.org/nexus/content/groups/public-jboss/'
           }
       }
}

allprojects {
    dependencies {
        compile 'org.projectlombok:lombok:1.12.2'
    }
}

但是当我执行构建时,我有:

* What went wrong:

评估根项目'代码'时出现问题。

No signature of method:
org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.compile() is applicable for argument types: (java.lang.String) values: [org.projectlombok:lombok:1.12.2]

可能的解决方案:module(java.lang.Object)

我做错了什么?

2 个答案:

答案 0 :(得分:17)

compile方法是您一直使用的插件的一部分(reference)。

allprojects {

    apply plugin: 'java'
    //so that we can use 'compile', 'testCompile' for dependencies

    dependencies {
        compile 'org.projectlombok:lombok:1.12.2'
    }
}

答案 1 :(得分:2)

如果您已应用'java'插件,但与Android插件不兼容错误,请尝试

subprojects {
    afterEvaluate {
        dependencies {
            implementation "YOUR DEPENDENCIES"
        }
    }
}