【问题标题】:Gradle multiproject define dependency on root projectGradle 多项目在根项目中定义依赖项
【发布时间】:2013-11-20 06:45:01
【问题描述】:

我有一个多项目 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]

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

我做错了什么?

【问题讨论】:

    标签: dependencies gradle multi-project


    【解决方案1】:

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

    allprojects {
    
        apply plugin: 'java'
        //so that we can use 'compile', 'testCompile' for dependencies
    
        dependencies {
            implementation 'org.projectlombok:lombok:1.12.2'
        }
    }
    

    【讨论】:

    • 通常你需要subprojects,而不是allprojects。
    • 'java'插件已应用,但与安卓插件不兼容。
    【解决方案2】:

    如果你得到'java'插件已被应用,但它与Android插件不兼容错误,试试这个

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-22
      • 1970-01-01
      • 2013-01-30
      相关资源
      最近更新 更多