2017-04-18 129 views
0

我有以下的依赖关系树:Maven的依赖排除

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

项目G的罐子不再可用,不应该尝试构建过程中下载。
唯一可访问的聚甲醛是项目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> 

将在依赖工作的更高水平的添加排除?
我们如何避免在构建期间下载项目G?

+0

E项目依赖于项目C不是B,你必须排除它 – Jens

+0

使用'mvn dependency:tree'来找出它被引用的地方 – Jens

+0

代码剪切应该工作正常 – Jens

回答

0

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

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