我具有以下多项目结构(仅显示重要部分):
- 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'
当我从module1运行
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
最佳答案
这是因为在依赖关系块中,您用撇号('
)而不是反向逗号("
)包装依赖关系,因此依赖关系内部的参数无法解析。要解决此问题,只需将引号替换为反逗号,即:
testCompile "org.codehaus.groovy:groovy-all:${groovyMajorVersion}.${groovyMinorVersion}"
testCompile "org.spockframework:spock-core:1.0-groovy-${groovyMajorVersion}"
关于gradle - Gradle解决多项目依赖项中的ext属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30348701/