2017-04-18 28 views
0

私は、次の依存ツリーがあります。Mavenの依存関係の除外

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

プロジェクトGのjarファイルが使用できなくなったと試みは、ビルド時にそれをダウンロードするためになされるべきではないし。
のみアクセスポンポンだから我々はポンポンに次のように追加したプロジェクトB.
の依存関係を含むプロジェクトA、のことである:

<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がダウンロードされないようにするにはどうすればよいですか?

+0

プロジェクトEはプロジェクトCの依存関係ではなく、そこに含まれないようにする必要があります。 – Jens

+0

参照先の場所を調べるには 'mvn dependency:tree'を使用してください。 – Jens

+0

コードは正常に動作するはずです – Jens

答えて

0

はい。除外はどのレベルでも機能します。通常、プロジェクトDは依存関係の直接的な原因であるため、Bの代わりにプロジェクトDの除外を使用します。

ただし、グローバル除外ステートメントがないため、他のパスでもGが依存関係になることがあります。