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

news/2024/5/23 17:50:15/

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.ppmy.cn/news/47676.html

相关文章

linux内核开发第5讲:字符设备驱动的Makefile和驱动的插入和卸载

文章目录 1.Makefile文件2.解析Makefile2.1 Makefile 条件判断2.2 obj-m obj-y2.3 Linux uname 命令2.4 make -C ( K D I R ) M (KDIR) M (KDIR)M(PWD) 3.操作实践3.1 make参数3.2 执行make3.3 清理内核日志3.4 加载驱动3.5 查看驱动3.6 卸载驱动 1.Makefile文件 ifneq ($(K…

TensorFlow 卷积神经网络实用指南:1~5

原文:Hands-On Convolutional Neural Networks with TensorFlow 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象&am…

迅为RK3588核心板平台新增工业级方案

迅为基于瑞芯微RK3588平台,提供商业级、工业级和国产化核心板,工业级板卡温度可达-40度到85度,国产化板卡从内存,存储等每一个元器件全部采用国产物料。不同板卡,满足各个行业需求。 iTOP-3588核心板参数 CPU &#x…

App 抓包提示网络异常怎么破?

背景 当你测试App的时候,想要通过Fiddler/Charles等工具抓包看下https请求的数据情况,发现大部分的App都提示网络异常/无数据等等信息。以“贝壳找房”为例: Fiddler中看到的请求是这样的: 你可能开始找证书的问题:是…

Python项目之中国数据可视化

文章目录 关键词一、做什么二、怎么做1、获取数据&&处理数据2、数据库设计&&存储数据3、开发后端接口4、前端页面编写 三、效果展示四、总结 关键词 PythonDjangoPython网络爬虫echarts可视化阅读者(Python基础、Django基础、H5基础) …

vue3插槽的使用

插槽就是子组件中的提供给父组件使用的一个占位符&#xff0c;用 表示&#xff0c;父组件可以在这个占位符中填充任何模板代码&#xff0c;如 HTML、组件等&#xff0c;填充的内容会替换子组件的标签。 1.插槽基本使用 子组件SlotComponent.vue <template><div cla…

【计算机专业应届生先找培训还是先找个工作过渡一下?】

计算机专业应届生先找培训还是先找个工作过渡一下&#xff1f; 计算机应届生是先培训还是先工作&#xff0c;这个问题应该困扰了很多专业技能一般的同学&#xff0c;尤其是学历方面还没有优势的普通本专科院校。都说技术与学历优秀的人进大厂&#xff0c;技术一般学历优秀的人能…

树莓派 QT项目开机自启动

我自己用qt设置了一个界面&#xff0c;如何让他开机自启动呢&#xff1f; 目录 1.生成qt项目的可执行文件 2. 编写一个自启动脚本 3.重启树莓派 1.生成qt项目的可执行文件 QT项目的可执行文件就是.exe文件。首先在qt中打开&#xff0c;点击红色方框图标&#xff0c;选择Re…

IO进程间的通信详解(嵌入式学习)

进程间通信 这次更新内容比较干巴&#xff0c;满满嚼&#xff0c;把例子敲一遍好好理解。如果您着急&#xff0c;请直接打开目录跳转到对您有价值的部分管道无名管道(PIPE)特点使用方法举个栗子 有名管道(FIFO)特点使用方法举个栗子 信号概念响应方式信号函数举个栗子&#xff…

冯诺依曼体系结构+操作系统

目录 冯诺依曼体系结构 基本概念 基本原理 操作系统 基本概念 设计OS的目的 管理的本质 管理的方法 系统调用和库函数 冯诺依曼体系结构 基本概念 冯诺依曼结构也称普林斯顿结构&#xff0c;是一种将程序指令存储器和数据存储器合并在一起的存储器结构。 ... 数学…

24个强大的HTML属性,建议每位前端工程师都应该掌握!

HTML属性非常多&#xff0c;除了一些基础属性外&#xff0c;还有许多有用的特别强大的属性 本文将介绍24个强大的HTML属性&#xff0c;可以使您的网站更具有动态性和交互性&#xff0c;让用户感到更加舒适和愉悦。 让我们一起来探索这24个强大的HTML属性吧&#xff01; 1、Acc…

js+css实现简单的弹框动画

效果图 只是一个简单的演示demo&#xff0c;但是可以后面可以优化样式啥的 刚开始元素的display为none&#xff0c;然后&#xff0c;为了给元素展示时添加一个动画&#xff0c;首先要添加样式类名show&#xff0c;让它覆盖display:none&#xff0c;变得可见。然后&#xff0c;添…

docker+jenkins+maven+git构建聚合项目,实现自动化部署,走了800个坑

流程 主要的逻辑就是Docker上安装jenkins&#xff0c;然后拉取git上的代码&#xff0c;把git上的代码用Maven打包成jar包&#xff0c;然后在docker运行 这个流程上的难点 一个是聚合项目有可能Maven install的时候失败。 解决办法&#xff1a;在基础模块的pom文件上添加 <…

【数据结构】堆的应用(堆排序的实现 + (向上/向下)建堆时间复杂度证明 + TopK问题(笔记总结))

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;数据结构 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&…

Flink Table API 和 Flink-SQL使用详解

Flink Table API 和 Flink-SQL使用详解 1.Table API & Flink SQL-核心概念 ​ Apache Flink 有两种关系型 API 来做流批统一处理&#xff1a; Table API Table API 是用于 Scala 和 Java 语言的查询API&#xff0c;它可以用一种非常直观的方式来组合使用选取、过滤、join…

RK3568平台开发系列讲解(调试篇)IS_ERR函数的使用

🚀返回专栏总目录 文章目录 一、IS_ERR函数用法二、IS_ERR函数三、内核错误码沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇将介绍 IS_ERR 函数的使用。 一、IS_ERR函数用法 先看下用法: 二、IS_ERR函数 对于任何一个指针来说,必然存在三种情况: 一种是合…

电源常识-PCB材质防火等级焊锡工艺

1、目前主流的PCB材质分类主要有以下几种,如图1&#xff0c;图2&#xff0c;图3。FR-4材质比CEM-1好&#xff0c;CEM-1比FR-1好。 按结构分为单面板&#xff0c;双面板&#xff0c;多层板。单面板就是单面铺铜走线&#xff0c;双面板就是上下两面都可以铺铜走线&#xff0c;多层…

Guns社区医疗项目

又是一年毕业季&#xff0c;计算机专业大四的同学们要接受毕业设计的考验啦。又有多少同学为了毕业设计而愁眉苦脸&#xff0c;心力憔悴。考虑到这些&#xff0c;这里为同学们分享一个适合你们毕业设计的作品以及详细介绍&#xff0c;让正在焦头烂额的同学们有所启发&#xff0…

asp.net+C#房地产销售系统文献综述和开题报告+Lw

本系统使用了B/S模式&#xff0c;使用ASP.NET语言和SQL Server来设计开发的。首先把所有人分为了用户和管理员2个部分&#xff0c;一般的用户可以对系统的前台进行访问&#xff0c;对一般的信息进行查看&#xff0c;而注册用户就可以通过登录来完成对房屋信息的查看和对房屋的…

开发插件JFormDesigner(可视化GUI编程)的使用与注册-简单几步即可完成

开发插件JFormDesigner&#xff08;可视化GUI编程&#xff09;的使用与注册 获取链接&#xff1a;1.JFormDesigner获取2.记录插件下载路径3.使用zcj注册4.生成license5.打开idea进行注册 获取链接&#xff1a; https://pan.baidu.com/s/1N9ua2p3BpiMIARCEewRxIw?pwd4e9a 提取…