“覆盖”排除对maven依赖的影响

时间:2012-05-24 09:19:30

标签: maven dependency-management maven-dependency-plugin

父母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
....

In Child pom -

    .....
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <exclusions>
            <exclusion>
                <groupId>cglib</groupId>
                <artifactId>cglib</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    ....

最终,commons-collectionscglib都被排除在外?如果是这样,有什么方法可以“带回”commons-collections用于子项目吗?

1 个答案:

答案 0 :(得分:2)

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

顺便说一下,在你自己的电脑上验证这一点大概需要1-2分钟......