2017-01-23 86 views
1

我有一个maven中的多模块项目,其中一些模块依赖于其他模块。现在,充当依赖关系的模块具有一些依赖关系,这些依赖关系已经列在依赖模块的pom中。如何从pom中删除重复的依赖关系?

有没有一种快速的方法来识别这种重复的依赖关系,并将它们从依赖模块的pom中移除?

回答

3

项目的依赖关系树可以展开以显示依赖关系冲突。 使用命令

mvn dependency:tree

识别这种重复的依赖关系。

使用pom的<dependency>部分下的<exclusions>标记排除这种重复的依赖关系。

<dependencies> 
    <dependency> 
     <groupId>sample.ProjectA</groupId> 
     <artifactId>Project-A</artifactId> 
     <version>1.0</version> 
     <scope>compile</scope> 
     <exclusions> 
     <exclusion> <!-- declare the exclusion here --> 
      <groupId>sample.ProjectB</groupId> 
      <artifactId>Project-B</artifactId> 
     </exclusion> 
     </exclusions> 
    </dependency> 
    </dependencies> 
+0

你能举一个例子说明'mvn dependency:tree'命令在这种情况下是否有用吗? – MozenRath

+1

当您使用-Dverbose = true运行此命令时,它显示所有重复项和冲突。 – shubham

1

如果您正在使用Eclipse作为IDE然后重复的,可以在相关的pom.xml的依赖层级看到。使用排除标签可以省略它们。

0

有一个JBoss工具来帮助解决这些问题:http://tattletale.jboss.org/ 不幸的是,这些天似乎并没有得到积极的发展。