2017-04-18 123 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作爲依賴項,因爲沒有全局排除語句。