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

在Maven中,如何从特定依赖项中排除所有可传递依赖项?,maven,dependencies,Maven,Dependencies,我想从一个依赖项中排除所有可传递的依赖项。在一些地方,我看到建议使用通配符 <dependency> <groupId>myParentPackage</groupId> <artifactId>myParentProject</artifactId> <version>1.00.000</version> <exclusions> <exclus

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

<dependency>
  <groupId>myParentPackage</groupId>
  <artifactId>myParentProject</artifactId>
  <version>1.00.000</version>            
  <exclusions>
    <exclusion>
        <groupId>*</groupId>
        <artifactId>*</artifactId>
    </exclusion>
  </exclusions>
</dependency>
不过,声明本身是成功的:在我的构建中,传递依赖项实际上被忽略了

我还发现了一个旧的功能请求,该请求


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

据我所知,这个功能还不存在。在您发送的功能请求中,您可以看到它的状态仍然是“未解决”。

我自己也讨厌收到Maven警告。我见过通配符方法,但已经避免了它。运行一个mvn依赖项:树目标,发现属于所讨论的工件的顶级依赖项,并单独排除每个依赖项(希望列表不会太大)。这是迄今为止解决此问题最安全的方法。

这是Maven 3.2.1-中支持的功能

是的,根据要求似乎是这样。但让我感到不快的是,当你使用这个功能时,它实际上是起作用的,它只是发出了一个警告;但是它是有效的:)Maven支持作为一个笨拙的解决方法来解决这个问题。+1用于通配符排除。警告/无警告,我的Android仪器测试最终可以运行(预验证问题有人吗?)。而明确排除每一个个体的依赖是疯狂的。
'dependencies.dependency.exclusions.exclusion.groupId' for myParentPackage:myParentProject:jar with value '*' does not match a valid id pattern. @ line 146, column 30