Maven - 具有不同版本的传递依赖项

时间:2011-11-05 22:09:21

标签: maven version transitive-dependency

  • 我们假设我的应用需要foo.jarbar.jar
  • foo.jar需要c.jar
  • 的1.0版
  • bar.jar需要c.jar
  • 的2.0版

Maven如何解决这场冲突?将使用哪个版本的c.jar

1 个答案:

答案 0 :(得分:17)

这取决于您的有效POM中的声明顺序。如果首先显示foo.jar,您将获得c.jar的1.0版。另一方面,如果首先声明bar.jar,则它将是c.jar的版本2.0。

相关documentation

  

...两个依赖版本在依赖项中处于相同的深度   树,直到Maven 2.0.8没有定义哪一个会赢,但是   从Maven 2.0.9开始,它就是声明中的顺序:   第一次宣言获胜