【问题标题】:Maven - transitive dependencies with different versionsMaven - 不同版本的传递依赖
【发布时间】:2011-12-22 20:16:42
【问题描述】:
  • 假设我的应用程序需要foo.jarbar.jar
  • foo.jar 需要 c.jar 的 1.0 版
  • bar.jar 需要 c.jar 的 2.0 版

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

【问题讨论】:

    标签: maven version transitive-dependency


    【解决方案1】:

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

    相关documentation

    ...两个依赖版本在依赖中的深度相同 树,在 Maven 2.0.8 之前,没有定义哪一个会赢,但是 从 Maven 2.0.9 开始,重要的是声明中的顺序: 第一个声明获胜

    【讨论】:

    • 这是 Maven 的犯罪设计缺陷
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 2020-10-17
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    相关资源
    最近更新 更多