3

子 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为子项目“带回来”?

4

1 回答 1

4

是的,Maven 的排除是附加的。您将有两个排除项。除了将其重新添加为新的本地依赖项之外,没有其他方法可以取消某些继承的排除。

顺便说一句,在您自己的计算机上验证这一点大约需要 1-2 分钟...

于 2012-05-24T11:01:08.673 回答