我有一个Spring应用程序(CustomerPort)。在这里我使用一个开源jar(commons-lang。 2.4 )。而我的CustomerPort使用其他模块,如jar,它使用不同的版本“commons-lang。 2.2 ”。
由于另一个模块使用commons-lang。 2.2 ,我的应用程序也会裁判模块opensource jar而不是commons-lang。 2.4 。
你能告诉我如何在Pom.xml文件中排除commons-lang。 2.2
答案 0 :(得分:1)
使用<scope>
标记来更正这些传递依赖项的范围。有关maven依赖范围的更多信息,请阅读this
答案 1 :(得分:1)
在CustomerPort的pom.xml
中,您可以在其中指定对其他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