当前位置: 首页 > article >正文

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

一、现象

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

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

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

   <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的版本号所致。

父包

    <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

    <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.kler.cn/a/591433.html

相关文章:

  • 太速科技-636-基于FMC的Kintex XCKU060高性能PCIe载板
  • 华为终端销售模式转型变革项目总体汇报方案(183页PPT)(文末有下载方式)
  • 数图亮相第三届全国生鲜创新峰会,赋能生鲜零售数字化转型
  • 前沿技术趋势:值得关注的创新发展
  • 【后端】【django-drf】【drf-spectacular】总结:在 drf-spectacular 中添加 API 注释的方法
  • Qt-搭建开发环境
  • llamafactory的参数详解 1:(量化等级和方法 RoPE插值方法 加速方式),会对照图片解释,适合小白
  • 威联通 NAS 的 Docker 镜像与安装 logseq
  • Postman接口调用传参说明
  • CBNet:一种用于目标检测的复合骨干网架构之论文阅读
  • nexus搭建npm私服
  • 人工智能与加密软件
  • K8S学习之基础三十六:node-exporter部署
  • 嵌入式项目代码架构与分层
  • Mac使用pycharm+基于Kaggle的社交媒体情绪分析数据集,用python做词云的可视化
  • NFC 碰一碰发视频源码搭建,支持OEM
  • Qt Widgets、Qt Quick
  • 大语言模型的压缩技术
  • 如何利用爬虫获取1688商品详情API接口:从入门到实战
  • 解决远程卡在下载vscode-server的问题,一键安装脚本