我是靠谱客的博主 从容早晨,最近开发中收集的这篇文章主要介绍maven依赖jar包优先级概述解决措施:版本管理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

概述

一般来说有两种原则:最短路径原则优先声明原则;实际上还有一种:多次直引不同版本的jar优先使用最后声明的版本

1、最短路径原则

A -> B -> C -> D(V1)
E -> F -> D(V2)

如上项目中就出现了两个版本的D,此时maven会采用最短路径原则,选择V2版本的D,因为V1版本的D是由 A包 间接依赖的,整个依赖路径长度为3,而V2版本的D是由 E包 间接依赖的,整个依赖路径长度为2

2、优先声明原则

A -> B -> C(V1)
D -> E -> C(V2)

如果两个jar包版本路径深度相同,则使用优先声明的版本(V1)

3、多次直引不同版本的jar优先使用最后声明的版本

<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>7.9.3</version>
</dependency>
 
 
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>5.6.9</version>
</dependency>

如果在pom文件中,同时引用了如上两个版本,则会使用5.6.9版本

解决措施:版本管理

在最上层项目的pom中使用dependencyManagement标签进行依赖管理:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>5.6.9</version> <!--指定版本号-->
        </dependency>
    </dependencies>
</dependencyManagement>

最后

以上就是从容早晨为你收集整理的maven依赖jar包优先级概述解决措施:版本管理的全部内容,希望文章能够帮你解决maven依赖jar包优先级概述解决措施:版本管理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部