记录一次okhttp包版本引用被覆盖的问题

devtools/2025/3/20 3:04:48/

一、现象

           1.实现了一个框架包,其父包控制了okhttp版本号。

java">	<dependencyManagement><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>3.14.7</version></dependency>
</dependencyManagement>

     2.外部服务引用引用此框架包。

java">   <dependency><groupId>com.xx.open</groupId><artifactId>xx-open-client</artifactId><version>4.4.4-SNAPSHOT</version></dependency>

然后查看okhttp的版本号为4.9.3,而不是框架内指定的版本号。

二、原因分析

由于外部服务的父包引入了springboot的IMPORT的BOM表单定义,而springboot的 dependies又定义了okhttp的版本号所致。

父包

java">    <dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.7.18</version><type>pom</type><scope>import</scope></dependency>

springboot dependenies

java">    <okhttp.version>4.9.3</okhttp.version><dependencyManagement>     <dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp-bom</artifactId><version>${okhttp.version}</version><type>pom</type><scope>import</scope></dependency>

三、总结

自身父包定义的组件版本号优先级高于外包部间接依赖的父包中定义的组件版本号。


http://www.ppmy.cn/devtools/168514.html

相关文章

PostgreSQL17允许psql的\watch在返回最小行数后停止

PostgreSQL17允许psql的\watch在返回最小行数后停止 今天看看PostgreSQL17对psql中 \watch的优化改进。在psql中使用\watch运行重复查询时&#xff0c;当查询不再返回预期的行数时&#xff0c;可以停止监控进程&#xff0c;例如&#xff0c;监视pg_stat_activity中某个事件的存…

Spring Boot 启动顺序

Spring Boot 启动顺序主要涉及多个关键步骤&#xff0c;涵盖 SpringApplication 初始化、环境准备、应用上下文创建&#xff0c;以及 运行阶段。以下是详细的启动顺序解析&#xff1a; 1. 启动引导&#xff08;Bootstrap&#xff09; 入口&#xff1a;SpringApplication.run()…

本地部署deepseek-r1建立向量知识库和知识库检索实践【代码】

目录 一、本地部署DS 二、建立本地知识库 1.安装python和必要的库 2.设置主目录工作区 3.编写文档解析脚本 4.构建向量数据库 三、基于DS,使用本地知识库检索 本地部署DS,其实非常简单,我写了一篇操作记录,我终于本地部署了DeepSeek-R1(图文全过程)-CSDN博客 安装…

手机蓝牙项目

一.蓝牙模块连接 首先将蓝牙模块与ch340模块连接然后打开串口软件调号参数。之后发送指令AT看是否有回复OK&#xff0c;有则连接成功&#xff0c;无说明串口没有连接好。 二.修改波特率 连接没有问题去查看波特率&#xff0c;然后修改波特率为我们串口代码写的&#xff0c;波…

YOLOv11小白的进击之路(九)创新YOLO11损失函数之NWD损失函数源码解读

之前的博客也有对YOLO11的损失函数进行过源码分析&#xff0c;可以参考&#xff1a;YOLOv11小白的进击之路&#xff08;六&#xff09;创新YOLO的iou及损失函数时的源码分析_yolov11的损失函数是什么-CSDN博客最近在做小目标检测的时候注意到了NWD损失函数&#xff0c;这里对其…

【课堂笔记】定理:样本越多,测量的经验损失越接近真实损失

定理描述 给定一个模型 f : X → Y f:X \to Y f:X→Y&#xff0c;设数据分布 D \mathcal{D} D定义在 X Y X \times Y XY&#xff0c;表示数据真实分布&#xff0c;且假设训练集和测试集的样本均从 D \mathcal{D} D中独立同分布(i.i.d)抽取。   设损失函数为 l : Y Y → R l…

Go红队开发—日志打印优化

文章目录 日志log输出打印日志控制测试源码 slog输出打印修改默认等级修改输出目的自定义logger添加日志细节子logger 日志颜色修改源码 各位师傅exp与poc编写暂时鸽了&#xff0c;感觉web编程那章节学完自己就能编写&#xff0c;想不出有什么能够学习的地方&#xff0c;因为po…

[网络][tcp协议]:tcp报头

tcp(传输控制协议)是一种面向字节流的传输层协议,相较于udp协议,tcp能保证传输数据的可靠性与准确性,tcp也是目前最常见的传输层协议 本文主要介绍tcp报头各个字段的含义与用途 注:保留6位和6位标记位是目前最普遍的写法,在我查资料时,发现有一些拓展情况,会在后文细说 最简单的…