2015-05-18 43 views
2

我在我的POM幾個依賴,在不必要的罐子拉那麼相同的排除設置他們:如何簡化Maven的POM多依賴相同的排除

<dependencies> 
    <dependency> 
    <groupId>some.group</groupId> 
    <artifactId>some-artifact-1</artifactId> 
    <version>1</version> 
    <exclusions> 
     <exclusion> 
     <groupId>annoying.group</groupId> 
     <artifactId>unwanted-artifact</artifactId> 
     </exclusion> 
    </exclusions> 
    </dependency> 
    <dependency> 
    <groupId>some.other.group</groupId> 
    <artifactId>some-artifact-2</artifactId> 
    <version>1</version> 
    <exclusions> 
     <exclusion> 
     <groupId>annoying.group</groupId> 
     <artifactId>unwanted-artifact</artifactId> 
     </exclusion> 
    </exclusions> 
    </dependency> 
    <dependency> 
    <groupId>another.group</groupId> 
    <artifactId>some-artifact-3</artifactId> 
    <version>1</version> 
    <exclusions> 
     <exclusion> 
     <groupId>annoying.group</groupId> 
     <artifactId>unwanted-artifact</artifactId> 
     </exclusion> 
    </exclusions> 
    </dependency> 
    . 
    . 
    . 
<dependencies> 

問題是我的勁歌有幾十的依賴關係,所以有可能更多的拉入不需要的jar。我不確定如何辨別那些不依賴於那些不需要的依賴的依賴。

我的工作流程現在的問題是:

  1. 期待通過我的POM,並添加上依賴排除像他們可能需要它(從議題和組ID判斷)。
  2. 確認jar不再在我的項目的Eclipse的Maven Dependencies列表中
  3. 添加更多的排除項,直到jar不存在爲止。
  4. 痛苦地經過每個依賴我給排除和切換排除關閉,以確認是否實際需要排除。

我的問題是:有沒有更好的方法?有沒有辦法在我的pom中設置一個普遍的排除條件,這樣我就不必一遍又一遍地重複排除同樣的排除了?或者有更好的工作流程來排除這個不需要的jar嗎?

我使用Maven 3.0.4

+0

爲什麼不使用Maven執行者插件?請參閱http://stackoverflow.com/questions/12794049/blacklist-maven-dependencies – Stephane

回答

2

可悲的是,有沒有辦法避免這種情況。已經討論過「全球」依賴排除,但從未實施過。