2015-05-18 44 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

可悲的是,有没有办法避免这种情况。已经讨论过“全球”依赖排除,但从未实施过。