栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

maven 依赖优先级排查

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

maven 依赖优先级排查

文章目录

前言排查过程背景修复解决方案

前言

在一次新项目搭建的时候,发现mysql-connector-java版本不兼容,然后改了下版本,发现还是版本有问题,下面讲下修复过程

排查过程
    由于父pom文件已经声明mysql-connector-java 5.1.41那我在子pom 定义版本号

    3.idea查看下jar引入情况

    4.查看启动时,用到jar版本

    5.这里就有点疑问,明明我已经改了版本号了,为啥还是用了父pom版本号?
背景

说下jar引入的关系
有个core项目,引入springboot契约,然后里面声明了版本号

然后子项目A,依赖core pom文件,按照继承关系mysql-connector-java也会引进来
介绍完项目结构,说下刚刚的场景,修改core项目版本号,发现A项目还是引入父契约的版本号。

修复

1.看下maven依赖树

A项目依赖core项目,但是拉下来是5.1.41版本
2.看下core依赖

3.core是正常的,A项目有问题
4.我们看下maven依赖优先等级

5.看到第三点:我们就明白什么原因了,A项目依赖core pom文件,然后父pom文件先声明,用声明的版本
除非说在A项目dependencies进行引用

解决方案

1.子pom dependencyManagement直接覆盖父pom文件dependencyManagement

2.覆盖父pom文件参数定义


3.在子项目dependencies修改版本号

总结:比较好的是在core项目dependencyManagement覆盖声明,或者覆盖父类参数定义

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

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

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