2015-11-05 93 views
1

我得到了一個多模塊項目,其任意數量爲spring-boot rest services,它們都運行在它們自己的embedded tomcat以及它自身不能包含任何業務邏輯的一些web前端。這些將被配置爲Zuul代理,因此不需要任何其他依賴關係。Gradle多重項目 - 更好的依賴性控制

因此,在我的頂級build.gradle我可以聲明所有項目通用的所有依賴關係,在這種情況下,這將是spring-boot-starterlog4j。儘管所有其他服務幾乎都分享他們的所有依賴項。

有沒有一種方法來聚類依賴關係?所以我可以說你是一個最小依賴的前端,你是一個基本的JPA項目?

我知道我可以定義所有單獨的依賴關係,但是它在許多文件中都會加倍。

回答

1

看看official user guide's「如何聲明你的依賴關係」,第52.4.8章。 「可選屬性」。根據它,你可以依賴組合成一些藏品,這可以作爲項目依賴應用,如:

List groovy = ["org.codehaus.groovy:groovy-all:[email protected]", 
       "commons-cli:commons-cli:[email protected]", 
       "org.apache.ant:ant:[email protected]"] 
List hibernate = ['org.hibernate:hibernate:[email protected]', 
        'somegroup:someorg:[email protected]'] 
dependencies { 
    runtime groovy, hibernate 
} 

所以,你可以在根構建腳本創建多個依賴性組進行不同的配置(我的意思是一個用於前端,一個用於JPA項目等)。然後,您唯一需要的就是將這些組應用到子項目中,這些子項目是reauired類型的。

+0

看起來很像我需要的:)。如果我不希望在我的jpa項目中使用'group:'org.springframework',模塊:'spring-webmvc',但是需要其他啓動提供的東西,還有一種方法可以在其中嵌入排除項: –

+0

@ Dennis我不太確定,是否有可能在列表中提供排除項,但隨後您將一些組的依賴項應用到項目中,您可以嘗試修改它的配置,例如'配置編譯.exclude組:'組織。 hamcrest' }'從所有配置中排除某些東西 – Stanislav

+0

好吧,我認爲這樣做......不能擁有所有我想的但已經有很多幫助。感謝您的意見。 –