【问题标题】:Gradle resolve ext properties in depedencies for multi-projectGradle 解析多项目依赖项中的 ext 属性
【发布时间】:2015-05-20 11:43:58
【问题描述】:

我有以下多项目结构(仅显示重要部分):

- project
    - build.gradle (file) 
    - settings.gradle (file)
    + module1 (dir)
    + module2 (dir)

build.gradle

ext {
    groovyMajorVersion = 2.4
    groovyMinorVersion = 3
}
subprojects {
    dependencies {
        testCompile 'org.codehaus.groovy:groovy-all:${groovyMajorVersion}.${groovyMinorVersion}'
        testCompile 'org.spockframework:spock-core:1.0-groovy-${groovyMajorVersion}'
    }
}

settings.gradle

include 'module1', 'module2'

当我从模块 1 运行 gradle dependencies 时,我收到以下错误:

testCompile - Compile classpath for source set 'test'.
+--- org.codehaus.groovy:groovy-all:${groovyMajorVersion}.${groovyMinorVersion} FAILED
\--- org.spockframework:spock-core:1.0-groovy-${groovyMajorVersion} FAILED

【问题讨论】:

    标签: gradle build.gradle multi-project


    【解决方案1】:

    这是因为在依赖项块中,您使用撇号 (') 而不是引号 (") 来包装依赖项,因此无法解析依赖项中的参数。要解决此问题,只需将撇号替换为引号,即:

        testCompile "org.codehaus.groovy:groovy-all:${groovyMajorVersion}.${groovyMinorVersion}"
        testCompile "org.spockframework:spock-core:1.0-groovy-${groovyMajorVersion}"
    

    【讨论】:

    • Amnon Shochot,你是对的。这是由于我昨天的更改,我将所有“替换为”,并且完全忘记了 Groovy 字符串插值。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 2015-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-02
    • 2014-02-09
    相关资源
    最近更新 更多