Java Maven会从两个依赖项中选择最新的依赖项吗?

Java Maven会从两个依赖项中选择最新的依赖项吗?,java,web-services,maven,jersey,Java,Web Services,Maven,Jersey,这个问题可能已经有了答案,但我找不到令人满意的答案。我刚刚将jerseyjars更新为最新版本。我从父项目中获取jersey依赖项,该父项目还包含另一个项目作为依赖项,该依赖项使用较低版本的jersey。我没有更新此项目中的jerseyjar。更新JAR后,我看到两个版本的jersey client,其中一个是最新版本,另一个来自使用较低版本的项目。范围是编译。我的应用程序运行良好,但在lib文件夹中,我看到了jersey client 1.17和2.25.1的两个版本。这是否会导致任何问题,或

这个问题可能已经有了答案,但我找不到令人满意的答案。我刚刚将
jersey
jars更新为最新版本。我从
父项目
中获取
jersey
依赖项,该父项目还包含另一个项目作为依赖项,该依赖项使用较低版本的
jersey
。我没有更新此项目中的
jersey
jar。更新JAR后,我看到两个版本的
jersey client
,其中一个是最新版本,另一个来自使用较低版本的项目。范围是编译。我的应用程序运行良好,但在lib文件夹中,我看到了jersey client 1.17和2.25.1的两个版本。这是否会导致任何问题,或者Maven将始终使用2.25.1


谢谢

Maven将始终获取最接近依赖关系树根的依赖关系。如果两个不同的版本位于同一级别,则将采用声明的第一个版本。让我们以下面的例子为例:

pom.xml
|--A:1.0
|--B:1.0
|  |--A:2.0
|  |--C:1.0
|  |--D:2.0
|--C:2.0
   |--D:1.0

这里,解析了库
A:1.0
B:1.0
C:2.0
D:2.0
。虽然采用
A
B
C
的版本是因为它们最接近根,但采用
D
的版本是因为它是首先声明的。

的可能重复是有意义的。谢谢SilverNak。