2016-06-16 66 views
3

我試圖添加一個依賴外部gradle這個項目(LIB-2)到另一個gradle這個項目(LIB-1),在此模塊中使用配置(Project-1)。嘗試同步時Lib-1我收到錯誤搖籃:名爲「默認」未找到

未找到名稱爲'default'的配置。

雖然我知道這個錯誤通常是由於缺少的build.gradle文件引起的,這兩個文件有相關文件的gradle如下圖所示所示的文件樹。

- Containing File 
    | Lib-1 
    |build.gradle 
    |settings.gradle 
    |Module-1 
     |src 
     |build.gradle 
    | Lib-2 
    |build.gradle 
    |settings.gradle 
    |Module-2 
     |src 
     |build.gradle 

settings.gradle文件LIB-1

include 'Module-2' 
include ':Lib-2' 
project(':Lib-2').projectDir = new File(rootDir,'../Lib-2') 

的build.gradle文件模塊-1

dependencies { 
    compile project(':Lib-2') 
} 

運行依賴「構建 - 信息」給e以下轉儲。

開始構建 使用設置文件'/ Users/$ user/Containing File/Lib-1/settings.gradle'進行評估的設置。 已加載項目。使用構建文件'/ Users/$ user /包含文件/ Lib-1/build.gradle'的根項目。 包含工程:[根項目 'LIB-1',項目 ':LIB-2',項目 ':模塊-1'] 評價根項目 'LIB-1' 使用建立文件「/用戶/ $用戶/文件包含/Lib-1/build.gradle」。 評估項目 ':LIB-2' 使用建立文件 '/用戶/ $ USER /文件包含/ LIB-2 /的build.gradle'。 評估項目 ':模塊-1' 使用構建文件 '/用戶/ $ USER /文件包含/ LIB-1 /模塊-1 /的build.gradle'。 RELEASE BUILD 評估所有項目。從項目 選擇的首要任務,「建設」:

失敗:建立失敗,一個例外。

  • 出錯: 無法確定任務':Module-1:javadoc'的依賴關係。 未找到名稱爲'default'的配置。
+0

你爲什麼不在lib-1的settings.gradle中設置'module-2'的projectDir? – RaGe

回答

0

添加依賴項時,此錯誤通常意味着找不到您添加的新項目。在這種情況下,發生這種情況的原因是,當您將它添加到主lib設置文件中時,該模塊不包含該設置。

你可以在這裏找到兩種方法: 1.爲每個lib創建一個build.gradle文件,並在其中定義每個模塊。然後,通過相同的構建文件編譯每個模塊(如果你想分開)。 2.使用多項目設置 - 您可以從模塊文件夾編譯,但需要另一個設置文件。

由於它是一個模塊,而不是多個項目,選項1似乎是正確的方式。只需爲每個模塊添加配置,並設置適當的依賴關係等。這樣的事情:

configurations { 
module1 
module2 
} 

sourceSets{ 
module1 { 
    java { 
     srcDir 'src/module1' 
    } 
} 

module2 { 
    java { 
     srcDir 'src/module2' 
    } 
} 
} 

dependencies { 
module1 'some.dependency' 
module2 'some.other.dependenty' 
}