在相对位置找不到脚本

时间:2015-02-25 09:18:52

标签: gradle

我的结构看起来像这样:

proj/myserver/build.gradle
common/common.gradle
common/server.gradle

build.gradle需要apply from: '../../common/server.gradle'
和server.gradle需要apply from:'common.grade

第二次申请不起作用,因为server.gradle正在相对于common.gradle的某个位置寻找build.gradle ...

如何让所有相对路径正确?

1 个答案:

答案 0 :(得分:1)

路径总是相对于项目目录解析,而不是调用apply的脚本插件。在这种情况下,您必须执行类似

的操作
apply from: "$projectDir/../../common/common.gradle"

然而,这可能会导致多项目构建出现问题(在这种情况下,您应该使用rootDir或其相对路径可能略有不同的其他项目。在这种情况下,您可能需要设置一个项目属性来指示'common'文件夹。

<强>的build.gradle

ext {
    commonDir = file("$projectDir/../../common")
}

<强> server.gradle

apply from: "$commonDir/common.gradle"