2014-08-27 107 views
1

我试图运行一些gradle命令,其中包括指定配置,但出现错误,声明“Configuration name with name'我试过的每个名称都没有找到。这通常是由一个依赖关系中缺少build.gradle文件引起的。果然,我发现有问题的项目:为什么Gradle认为我的'库'目录是一个项目

Evaluating project ':libraries' using empty build file. 

但库实际上不是一个项目,它仅仅是保存所有项目依赖的文件夹。图书馆目录是在同一水平作为我的主要项目,我settings.gradle文件是:

include ':libraries:some-sdk' 
include ':libraries:another-sdk' 

而我在我的build.gradle依赖是:

dependencies { 
    compile project(':libraries:some-sdk') 
    compile project(':libraries:another-sdk') 
    compile files('libs/some-library.jar') 
    compile 'some-maven-repo:some-artifact:X.X.X' 
} 

我也转载问题使用commonsware的多项目演示:https://github.com/commonsguy/cw-omnibus/tree/master/Gradle/HelloMultiProject

我在这里错过了什么?

回答

3

这是由于您使用的语法。 Gradle将:libraries解释为项目,这是您的'sdk'项目的父项目。如果您希望这两个项目直接落在根项目下,但仍然存在于子目录中,您可以明确指定projectDir

更改settings.gradle的样子:

def String[] modules = ['some-sdk', 'another-sdk'] 

include modules 

modules.each { name -> 
    def p = findProject(":${name}") 
    p.projectDir = new File("libraries/${name}") 
} 
相关问题