【发布时间】:2011-12-22 20:16:42
【问题描述】:
- 假设我的应用程序需要
foo.jar和bar.jar -
foo.jar需要c.jar的 1.0 版 -
bar.jar需要c.jar的 2.0 版
Maven 如何解决这个冲突?将使用哪个版本的c.jar?
【问题讨论】:
标签: maven version transitive-dependency
foo.jar 和bar.jar
foo.jar 需要 c.jar 的 1.0 版
bar.jar 需要 c.jar 的 2.0 版
Maven 如何解决这个冲突?将使用哪个版本的c.jar?
【问题讨论】:
标签: maven version transitive-dependency
这取决于您在有效 POM 中的声明顺序。如果foo.jar 首先出现,您将获得c.jar 的1.0 版。另一方面,如果首先声明 bar.jar,它将是 c.jar 的 2.0 版。
...两个依赖版本在依赖中的深度相同 树,在 Maven 2.0.8 之前,没有定义哪一个会赢,但是 从 Maven 2.0.9 开始,重要的是声明中的顺序: 第一个声明获胜
【讨论】: