0

我有一个大型的多模块项目。99% 的模块都依赖于某个第三方库(我们称它为 A),因此对 A 的依赖记录在项目父 POM 中并因此被所有模块继承。在这 99% 的情况下,A 是作为运行时环境的一部分提供的,因此依赖项相应地标记为已提供。

我今天遇到了一种情况,其中一个子模块(实际上是孙子,如果这很重要)不能依赖于 A。如何从该模块的依赖项列表中删除 A?

我已经尝试过,但元素combine.self="override"中显然不允许使用该构造。<dependencies>

4

1 回答 1

1

使用dependencyManagement并添加您不需要的工件的依赖排除。

这对于commons-logging从我的 spring 依赖项中排除是一种魅力:

  <dependencyManagement>
    <dependencies>

      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring-framework.version}</version>
        <exclusions>
          <exclusion>
            <artifactId>commons-logging</artifactId>
            <groupId>commons-logging</groupId>
          </exclusion>
        </exclusions>
      </dependency>

    </dependencies>
  </dependencyManagement>
于 2013-07-01T16:32:16.890 回答