jar包依赖冲突该怎么解决(IT枫斗者)

news2024/10/6 4:07:59

jar包依赖冲突该怎么解决(IT枫斗者)

maven jar包依赖规则

  • 间接依赖路径最短优先
  • 一个项目依赖了a和b两个jar包,其中a-b-c1.0,d-e-c1.0,由于c1.0路径最短,所以项目最后使用的jar包是c1.0
  • pom文件中申明顺序优先
  • 有人就问了如果a-b-c1.0,d-e-c1.1这样路径一样怎么办?其实maven的作者很聪明,会在pom文件中申明的顺序都选,如果pom文件中先申明了d在申明a,test项目最后的依赖回事c1.1

为什么是jar包冲突?

  • 包冲突:指在一个项目的不同部分开发时调用的代码库,资源包的版本号不一致,包冲突的实质是不同部分同一个功能实现用的代码和资源不一致
  • 举例说明:在一个项目a中,主工程是a,他调用代码库bjar包又依赖d1.0,a又依赖代码库c,而c又依赖库d2.0.虽然pom有顺序优先,然而,如果在项目中引用了d1.0的内容,又引用了d2.0的内容,项目分不清jar了,项目就启动不起来了

怎么查看jar包冲突,是那些jar冲突了?

  • 首先打开pom.xml文件

  • 在idea里装mavenhelper插件

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3LvvwbPC-1681172146873)(C:%5CUsers%5Cquyanliang%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681171835301.png)]

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WocuA0DV-1681172146874)(C:%5CUsers%5Cquyanliang%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681171845225.png)]

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UtT0xDG1-1681172146874)(C:%5CUsers%5Cquyanliang%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681171853369.png)]

  • 安装完成之后要进行重启idea

  • 点开pom.xml就能看到

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m4dfZHDv-1681172146875)(C:%5CUsers%5Cquyanliang%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681171896999.png)]

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KL7mAPRP-1681172146875)(C:%5CUsers%5Cquyanliang%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681171909162.png)]

  • conflicts就是冲突的意思,下面就是发生冲突的jar和版本

  • 然后就是一个一个进行处理

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HxPQr4xg-1681172146875)(C:%5CUsers%5Cquyanliang%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681171985805.png)]

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TaxBzfAe-1681172146876)(C:%5CUsers%5Cquyanliang%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5C1681171993581.png)]

  • 点击jump to source,就会跳转到具体引入这个jar的pom文件的具体情况

  • 点击exclude,就会将该jar从本项目中排除掉,就是剔除掉,本项目不再使用该jar,这样本项目中就不存在多版本的某个jar包,一个个去解决,解决完成之后就能启动了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用三轴XYZ平台绘制空心字

1. 功能说明 本文示例将实现R312三轴XYZ平台绘制“机器时代”空心字的功能。 2. 电子硬件 在这个示例中,采用了以下硬件,请大家参考: 主控板 Basra主控板(兼容Arduino Uno) 扩展板 Bigfish2.1扩展板 SH-ST步进电机扩展…

2023年最系统的自动化测试,测试开发面试题,10k以下不建议看

鉴于现在严峻的就业形势,千万大学生即将出新手村,今天给大家打包好了2023最能避免薪资倒挂的《面试圣经》。不经一番寒彻骨,怎得梅花扑鼻香。这份面试题,与君共勉! 一、开场白 Q:简单自我介绍一下吧 Q:项…

Bots攻击威胁石油石化企业 瑞数动态安全实现从“人防”到“技防”

近日,中国石油石化企业信息技术交流大会暨油气产业数字化转型高峰论坛在京召开。本届大会由中国石油学会、中国石油、中国石化、中国海油、国家管网、国家能源、中国中化、中国航油、延长石油、中国地质调查局等单位共同主办。 作为我国石油石化行业的盛会&#xf…

论坛现场回顾:维视教育的新工科人才培养 「最佳实践 」

全国高校电子信息类专业教学论坛隆重召开 由教育部高等学校电子信息类专业教学指导委员会主办,苏州大学、清华大学出版社承办的“全国高校电子信息类专业教学论坛”于2023年4月14日-16日在江苏省苏州市隆重开幕,维视教育作为电子信息类教学指导委员会战略…

最优化方法Python计算:连续函数的单峰区间计算

我们知道,闭区间上的一元连续函数必在区间上取得最大值和最小值。实践中我们需要能数值地确定含有 f ( x ) f(x) f(x)的唯一最优解 x 0 x_0 x0​的区间 [ a , b ] [a,b] [a,b]。这里介绍寻求连续函数 f ( x ) f(x) f(x)在一点 x ∗ x^* x∗附近单峰区间的包围算法及…

飞桨paddlespeech语音唤醒推理C实现

上篇(飞桨paddlespeech 语音唤醒初探)初探了paddlespeech下的语音唤醒方案,通过调试也搞清楚了里面的细节。因为是python 下的,不能直接部署,要想在嵌入式上部署需要有C下的推理实现,于是我就在C下把这个方…

Android Stuido中修改项目SDK版本号

通过Android Studio创建项目时,只能选择项目支持的最低SDK版本号,而无法选择当前编译使用的版本号,如图1所示。 图1 选择项目支持的最小版本号 而编译项目的SDK版本号默认是Android Studio安装的最新SDK。如果不想使用最新SDK来编译项目&…

C++入门(3)

C入门 1.auto关键字(C11)1.1. 类型别名的思考1.2. auto简介1.3. auto使用情景1.4. auto的使用细则1.5. auto不能推导的场景 2.函数内联2.1. 问题提出2.2. 概念(关键字——inline)2.3. 特性2.4. 面试题 3. 基于范围的for循环(C11)3…

Python 基础(八):流程控制语句

❤️ 博客主页:水滴技术 🌸 订阅专栏:Python 入门核心技术 🚀 支持水滴:点赞👍 收藏⭐ 留言💬 文章目录 一、条件语句1.1、if1.2、if...else...1.3、if...elif...else... 二、匹配语句2.1、ma…

亚马逊、ebay、temu如何提升产品点击率?测评自养号解析

产品点击率对于店铺销售额的影响至关重要,尤其是在竞争越来越激烈的市场环境中,想要有销量和转化,提高产品listing点击率成为了非常关键的一环。 1. 产品主图 顾客浏览产品时,第一眼看到的就是主图,一张优质的主图更容…

Scala之面向对象

目录 Scala包: 基础语法: Scala包的三大作用: 包名的命名规范: 写包的好处: 包对象: 导包说明: 类和对象: 定义类: 封装: 构造器: 主从…

将项目部署到服务器上,并且使用JMeter测试项目性能

1、前提条件 首先呢,你要有一个有一个项目,并且打包成jar包。然后你要有一台服务器,你可以登录阿里云(国内社区)然后买按量付费的服务用一下,其实服务器就像虚拟机一样,linux命令执行。但是Cen…

操作系统的结构与功能流程

一、用户态和内核态 用户态可以理解为用户模式,内核态理解为内核模式 二、功能流程举例 假设你是一名顾客在一家餐厅用餐,餐厅有一个厨师负责烹饪食物,而你作为顾客只能在餐厅的就餐区域内进行点餐、享用餐点。这里就可以将就餐区域看作用户…

【基于视觉的分割】语义分割初探索:一些经典和先进的算法

写在前面: 有很长时间没有更新学习了,因为在忙着做试验写毕业论文。但是,学习不能停止,从今天开始,换成语义分割方向进行深入学习,有兴趣的小伙伴可以和我一起讨论,也欢迎才进入这个方向学习的…

【Grafana】連接mssql並圖表顯示

【Grafana】連接mssql並圖表顯示 1. 函數2. Demo2.1 Query2.2 Query 3. Awakening1.1 Big Data -- Postgres 1. 函數 Macro exampleReplaced by$__time(dateColumn)An expression to rename the column to time. For example, dateColumn as time$__timeEpoch(dateColumn)An e…

改变思想,拥抱毒瘤,让公司走的更远

牛B的人物,早已经厌倦了中英文混杂,他们更进一步,使用中英文缩写,对普通人进行降维打击。更厉害的,造就新的名词,并科普出去。 有几项技术,我从心底里鄙视和厌恶,但每次在技术方案中…

Cursor IDE一个GPT4人工智能自动程序编辑器

让我们来了解一下Cursor IDE是什么。Cursor IDE是一个新型的编程工具,可以通过它生成、编辑以及与人工智能进行交互分析代码。官方网站上的三个单词“Build Software. Fast.”(快速构建软件)以及“Write, edit, and chat about your code wit…

Spark 实现重新分区 partitionBy、coalesce、repartition(附代码演示)

文章目录 1、partitionBy 源码中的定义(部分) 调用方式 2、coalesce 源码中的定义 调用方式 3、repartition 源码中的定义 调用方式 repartition和coalesce的区别 代码演示 (跳转代码) 实现重新分区,本质上…

如何轻松进行接口测试?试试这款神器Apifox,亲测好用!

Apifox学习教程地址:https://www.bilibili.com/video/BV1mb411o7Go/? 目录:导读 ​引言 一、接口调试 二、Mock功能 三、自动化测试 引言 如果你曾经为手工编写和维护测试用例而感到疲惫,那么你需要试试这款神器——Apifox! …

【云原生】Kubernetes(k8s)之Pod概念和使用

k8s之Pod概念和使用 一、Pod简介1.1、Pod的阶段(状态)1.2、容器状态 二、Pod的定义2.1、restartPolicy2.2、imagePullPolicy2.3、command2.4、args2.5、resources 三、Pod的使用3.1、创建并访问Pod3.2、多个应用容器3.3、Init容器3.3.1、Init容器与普通容…