Gradle构建在父gradle.properties文件中找不到属性

won*_*lik 1 gradle build.gradle

我有多个项目gradle构建,我试图通过gradle.properties外化依赖项版本.不幸的是,子项目无法在父gradle.properties中找到属性

所以在父gradle.properties我有:

SPRING_VERSION=3.2.0.RELEASE
Run Code Online (Sandbox Code Playgroud)

在父build.gradle我有

dependencies {
    compile "org.springframework:spring-webmvc:$SPRING_VERSION"
    ...
Run Code Online (Sandbox Code Playgroud)

这很好用.但在子项目中同样的事情会导致错误:

Could not resolve all dependencies for configuration 
Could not find org.springframework:spring-context-support:$SPRING_VERSION.
Run Code Online (Sandbox Code Playgroud)

如果我硬编码版本项目构建正常.

同样在父文件中我有settings.gradle,它指定:

include 'projectA','projectB','projectC'
Run Code Online (Sandbox Code Playgroud)

项目结构

root
|
\ buildSRC
\ projectA
    |
    \ build.gradle
\ projectB  (build script in parent build.gradle)
\ projectC  (build script in parent build.gradle)
|
|
\ build.gradle
\ gradle.properties
\ settings.gradle
Run Code Online (Sandbox Code Playgroud)

感谢帮助

w ^

Pet*_*ser 6

在Groovy中,双引号字符串支持字符串插值,而单引号字符串则不支持.显然,您错误地在子项目中使用了单引号字符串.结果,Gradle去寻找一个字面命名的版本,$SPRING_VERSION当然它没有找到.