子 pom 中的排除如何影响父 pom 中的排除?排除项是否具有累加性?这是一个例子:
....
<dependencyManagement>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>${hibernate.version}</version>
<exclusions>
<exclusion>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencyManagement
....
在子 pom 中 -
.....
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<exclusions>
<exclusion>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
</exclusion>
</exclusions>
</dependency>
....
最终,commons-collections
和 cglib
都被排除在外吗?如果是这样,有什么方法可以为子项目“带回”commons-collections 吗?
最佳答案
是的,Maven 的排除是附加的。您将同时获得这两项排除。除了将其重新添加为新的本地依赖项之外,无法取消某些继承的排除。
顺便说一句,在您自己的计算机上验证这一点大约需要 1-2 分钟...
关于maven - "overriding"排除在 Maven 依赖项中的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10734565/