2012-11-09 84 views
0

我需要建議,我們有三個獨立的項目,但其中一些共享一些依賴關係,而另一些則與上下文相關。在maven pom中使用繼承還是使用依賴關係更好?maven項目管理

回答

1

取決於「上下文相關」的含義。

一般來說,如果項目足夠獨立,我會建議您使用依賴關係。如果他們共享更多的這兩個模塊,繼承就會有意義。例如,如果所有三個項目都需要使用庫X的Y版本,並且您將在所有三個項目中立即更新該庫,則使用繼承。否則,我不會。

1

我會建議使用依賴關係。當您擁有同一應用程序的不同子模塊時,Pom繼承更有意義,所以您希望所有子模塊使用相同版本的依賴關係。

+0

感謝@Augusto實際上,所有這三個項目都是多模塊項目,我們希望將諸如插件,存儲庫等共享屬性對項目構建進行某種細粒度的控制,就像更新項目一樣版本併爲其創建一個新標籤其他項目以某種方式通知版本更改 – shadowlaw

+0

我認爲這是一個在每個項目中要重複使用多少以及稍後定義很多依賴項之間的平衡問題在子poms中被覆蓋(渲染父pom無用)。我認爲使用父pom定義所有模塊(例如Sonar)之間真正共享的存儲庫和插件是很有意義的,但是請注意不要添加實際需要的更多內容。關於依賴關係,我不完全喜歡它,因爲不同的應用程序會以不同的速率更改依賴項(例如,您想在其中一個應用程序中嘗試JUnit 5) – Augusto

0

您應該對每個模塊中不需要的所有依賴項使用依賴關係。如果存在一些共享的依賴項集,例如許多彈簧依賴項,則可以使用bill of materials