Maven依赖性排除

时间:2017-04-18 09:38:05

标签: maven pom.xml dependency-management

我有以下依赖树:

Project A
   ----Project B
           -----Project D
                 --------Project G
   ----Project C
           -----Project E
                 --------Project H
           -----Project F

Project G的jar不再可用,并且在构建期间不应尝试下载它 唯一可访问的pom是项目A,它包含项目B的依赖项。
所以我们在pom中添加了以下内容:

<dependency>
      <groupId>xxxxx</groupId>
      <artifactId>Project B</artifactId>
      <version>xxxx</version>
      <scope>compile</scope>
      <exclusions>
        <exclusion>
          <artifactId>Project G</artifactId>
          <groupId>xxxxxx</groupId>
        </exclusion>
      </exclusions>
</dependency>

是否会在更高级别的依赖工作中添加排除? 我们如何避免在构建期间下载Project G?

1 个答案:

答案 0 :(得分:0)

是。排除在任何级别都有效。通常,我会使用项目D的排除而不是B,因为项目D是依赖项的直接原因。

但请注意,任何其他路径仍然可以将G作为依赖项引入,因为没有全局排除语句。