在Maven中,如何从特定依赖项中排除所有传递依赖项?

时间:2013-05-03 08:08:24

标签: maven dependencies

我想从一个依赖项中排除所有传递依赖项。在某些地方,我看到它建议使用通配符

<dependency>
  <groupId>myParentPackage</groupId>
  <artifactId>myParentProject</artifactId>
  <version>1.00.000</version>            
  <exclusions>
    <exclusion>
        <groupId>*</groupId>
        <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>

当我这样做时,我收到警告:

'dependencies.dependency.exclusions.exclusion.groupId' for myParentPackage:myParentProject:jar with value '*' does not match a valid id pattern. @ line 146, column 30

声明本身是成功的:在我的构建中确实忽略了传递依赖。

我还发现了一个请求exactly this feature

的旧功能请求

所以现在我不知道这是否是我不应该使用的弃用功能,如果警告错误,或者功能还没有完全实现(我正在使用Maven 3.0.4)。 ..有人知道更多吗?

3 个答案:

答案 0 :(得分:10)

答案 1 :(得分:3)

我讨厌自己收到Maven的警告。我已经看过通配符方法,但已经避免了它。运行 mvn依赖:树目标,发现属于相关人工制品的顶级依赖项,并单独排除每个依赖项(希望列表不是那么大)。这是解决此问题的最安全方法。

答案 2 :(得分:0)

据我所知,此功能尚不存在。在您发送的功能请求中,您可以看到它的状态仍为“未解析”。