2014-01-14 167 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