我想从一个依赖项中排除所有传递依赖项。在某些地方,我看到它建议使用通配符
<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)。 ..有人知道更多吗?
答案 0 :(得分:10)
这是Maven 3.2.1中支持的功能 - see 'Transitive dependency excludes' section in the release notes。
答案 1 :(得分:3)
我讨厌自己收到Maven的警告。我已经看过通配符方法,但已经避免了它。运行 mvn依赖:树目标,发现属于相关人工制品的顶级依赖项,并单独排除每个依赖项(希望列表不是那么大)。这是解决此问题的最安全方法。
答案 2 :(得分:0)
据我所知,此功能尚不存在。在您发送的功能请求中,您可以看到它的状态仍为“未解析”。