有没有办法禁止Maven中某些工件的依赖?

时间:2011-12-03 00:46:41

标签: maven maven-2

我对junit的maven工件有问题。它与hamcrest一起打包,但我喜欢使用更高版本的hamcrest,所以我的项目需要使用junit-dep并排除hamcrest依赖。

我有一个带有dependencyManagement部分的父pom.xml来处理我想要的junit-dep版本,并确保排除hamcrest。但是,我经常遇到一个问题,其中一些其他测试库包含对junit的传递依赖。

请注意,版本号不是问题所在。这是特殊的神器。我不想要junit,我想要junit-dep。有没有办法在我的依赖管理(或其他任何地方)中说我从不想要包含任何版本的junit?

1 个答案:

答案 0 :(得分:2)

不幸的是,依赖关系管理中没有全局排除选项。

另一方面,如果您不想要包含JUnit jar,您可以使用与commons-logging-99.0-does-not-exist.jar相同的技巧。

以下是描述技巧的链接 - > http://day-to-day-stuff.blogspot.com/2007/10/announcement-version-99-does-not-exist.html

就我个人而言,我发现使用<exclusions>标记更容易完成这项工作。