2014-08-27 84 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}") 
} 
相關問題