2014-04-28 263 views
0

請考慮以下依賴戰爭中的應用。Maven的依賴管理:傳遞Vs的直接依賴關係

War A --> Jar A --> jar B 

戰爭A只添加了Jar的依賴。獲取jar B作爲傳遞依賴項。 但是,讓我們說B中的某些變化,那麼我們需要用新版本的B來構建A。這是正確的做法嗎?每個時間B的變化,A的POM需求回暖B. 一旦開戰A的最新變化,並指定A的直接依賴甲乙雙方或只是一個?

是有一些規則,它說,像我們應該理想地宣佈只有那些我們直接使用的API JAR的直接依賴。

在上述情況下,有從罐中乙java類這是越來越從戰爭A.

叫請我的理解幫助。

+2

與聲明直接依賴關係的問題在於,你很快就會發現你的POM具有依賴淹沒。通常,任何版本更改都是向後兼容的。因此,B中的更新並不一定意味着您必須更新A。 – adarshr

回答

0

一般情況下,最好把Maven的約定,並允許它來解決傳遞依賴,這樣你就不會漩渦成依賴地獄!
如果你想測試一個變化,你可以用於測試目的,添加一個直接依賴。

保持簡單。允許maven管理這個。

我希望這會有所幫助。