Maven-具有不同版本的可传递依赖项 [英] Maven - transitive dependencies with different versions

查看:93
本文介绍了Maven-具有不同版本的可传递依赖项的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  • 假设我的应用程序需要foo.jarbar.jar
  • foo.jar需要c.jar的1.0版
  • bar.jar需要c.jar的2.0版
  • Let's assume my application needs foo.jar and bar.jar
  • foo.jar needs version 1.0 of c.jar
  • bar.jar needs version 2.0 of c.jar

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

How does Maven resolve this conflict? Which version of c.jar will be used?

推荐答案

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

It depends on the order of declaration in your effective POM. If foo.jar shows up first you will get version 1.0 of c.jar. If on the other hand bar.jar is declared first it will be version 2.0 of c.jar.

相关文档:

...两个依赖版本在依赖中的深度相同 一棵树,直到Maven 2.0.8,尚不确定哪一个会赢,但是 自Maven 2.0.9起,它是声明中的顺序: 第一次宣告胜利

...two dependency versions are at the same depth in the dependency tree, until Maven 2.0.8 it was not defined which one would win, but since Maven 2.0.9 it's the order in the declaration that counts: the first declaration wins

这篇关于Maven-具有不同版本的可传递依赖项的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆