2016-11-10 40 views
0

當您在Maven中定義多模塊項目時,您有一個根項目及其模塊。當您構建根項目時,Maven會以正確的順序傳遞它的所有模塊。到目前爲止,它非常類似於Gradle。Gradle Maven像多模塊項目

但是通過Maven,您可以從存儲庫中僅克隆一個子模塊並在本地構建,無需下載整個項目結構。這是因爲您可以像在其他任何外部依賴項一樣定義相同項目中其他模塊的依賴關係,並且可以從本地存儲庫(Nexus)下載並緩存該依賴項。

使用Gradle,您將交叉模塊依賴關係定義爲compile project(':other')。因此,您需要從存儲庫中克隆整個項目結構,以便正確解析和構建。有沒有辦法使用Gradle多模塊項目支持,而不必在本地克隆整個項目結構?

回答

0

我會爭辯說,Maven的多模塊支持是在後想的一個耳光。與Gradle不同,項目依賴不是一流的概念。相反,當GAV(group/artifact/version)匹配時,maven「reactor」會將本地工件替換爲依賴關係。

如果您想使用相同的方法在搖籃,那麼你可以指定使用GAV符號的依賴關係,然後使用新的composite build feature連接兩個或多個獨立的gradle這個建立本地源的依賴和替代庫的依賴在一起。請注意,您可以使用groovy定義組合中包含的項目,以便您可以根據自定義邏輯輕鬆編寫腳本(例如,如果某個根文件夾中存在子文件夾等)

請注意,複合構建支持是new feature added in Gradle 3.1。在Gradle 3.1之前,您可以使用Prezi Pride來實現相同的