栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

maven依赖jar包优先级

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优先使用最后声明的版本

    org.elasticsearch
    elasticsearch
    7.9.3

 
 

    org.elasticsearch
    elasticsearch
    5.6.9

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

解决措施:版本管理

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


    
        
            org.elasticsearch
            elasticsearch
            5.6.9 
        
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702050.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号