Maven 依赖排除

Maven dependency exclusion

我有以下依赖关系树:

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

项目 G 的 jar 不再可用,在构建期间不应尝试下载它。
唯一可访问的 pom 是项目 A 的 pom,它包含项目 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>

在更高级别的依赖项中添加排除是否可行?
我们如何避免在构建过程中下载项目 G?

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

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