2014-01-14 166 views
1

在pom文件中是否存在排除傳遞依賴的依賴的語法方法。Maven排除傳遞依賴的傳遞依賴

例如,如果A具有相關性B和B具有依賴性C和C對d的依賴,這是一種編譯A.

排除依賴項時要排除的依賴d似乎只是走一個級別較深。

我過去如何做到這一點,是在A的pom中包含依賴項C,然後在C的依賴聲明中添加D的排除項。這是推薦的方式嗎?

回答

2

您可以將D<exclusions>元素添加到A的POM中的依賴B。排除對遞歸依賴遞歸地工作。

對於複雜項目來說,這樣做的一個好方法是在父POM中使用<dependencyManagement>元素,該元素排除任何您不想在任何地方看到的東西。

+0

感謝您的意見。我可以發誓我嘗試了這一點,但依賴依然包括在內。我只能排除兩層深層的傳遞性依賴關係。所以在這種情況下,我能夠排除依賴C而不是D。當我得到片刻時,我將不得不再次嘗試 –

+0

它適用於我的情況。也許這是一箇舊版本的Maven中的錯誤,後來被修復了? –

+0

您使用的是哪個版本的maven?我相信這個bug是在3.0.5的更高版本中引入的。使用maven版本3.0.5。 – ABose