2013-12-12 24 views
0

我有一个Spring应用程序(CustomerPort)。在此我使用一个开源的jar(commons-lang。2.4)。而我的CustomerPort使用其他模块,如jar,它使用不同的版本“commons-lang。2.2”。Spring Jar dependency Presedence

由于其他模块使用commons-lang。 2.2,我的应用程序还裁判模块开源jar而不是commons-lang。 2.4

你可以告诉我如何排除commons-lang。 2.2 in Pom.xml文件

回答

1

使用<scope>标记来更正这些传递依赖性的范围。阅读this对Maven的依赖范围

1

pom.xml为CustomerPort,在您指定的其他jar模块的依赖更多的信息,您可以commons-lang指定的排除。这将阻止Maven从另一个jar中引入commons-lang传递依赖项。

<dependency> 
    <groupId>otherModuleGroupId</groupId> 
    <artifactId>otherModuleArtifactId</artifactId> 
    <version>otherModuleVersion</version> 
    <exclusions> 
     <exclusion> 
      <groupId>commons-lang</groupId> 
      <artifactId>commons-lang</artifactId>     
     </exclusion> 
    </exclusions> 
</dependency> 

验证其在CustomerPort运行mvn dependency:tree做正确的事。

有关排除传递依赖的更多信息here

相关问题