首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Maven依赖冲突问题

1、简介 1.1、什么是依赖冲突 依赖冲突是指:在 Maven 项目中,当多个依赖包,引入了同一份类的不同版本时,可能会导致编译错误或运行时异常。...1.2、依赖冲突的原因 我们在 Maven 项目的 Pom 中 一般会引用许许多多的 Dependency。...在绝对大多数情况下,依赖冲突问题并不需要我们考虑,Maven 工具会自动根绝依赖原则选择,这里我们先假设最终引用的 X(1.0) 版本, 1、你想如果B引用 X(2.0) 的新创建的类,但因为最终被解析的是...最明显的就是容易发生依赖冲突。 3.2、如何排除依赖 这种情况下,想要解决依赖冲突,可以靠升级/降级某些依赖项的版本,从而让不同依赖引入的同一类,保持一致的版本号。...4、Maven Helper 插件分析jar包冲突 如果你的项目中依赖许许多多的 Jar ,肉眼排查就没那么方便了,这里推荐一个 Maven 管理插件 在 Pom 文件中看到 Dependency Analyzer

13610
您找到你想要的搜索结果了吗?
是的
没有找到

maven解决包冲突

前言 这边篇文章主要是来讲解我们日常开发中碰到一些Maven冲突的一个解决方案。如何去一步一步进行排查,然后找到思路解决某一个固定的痛点和问题。...因为不同的包,它可能依赖某一个版本的可能不是同一个版本,这样就会导致一个冲突产生。可能版本不一致也有一定的原因。 问题 这里主要是在讲我在开发中碰到一个类名冲突的一个问题。...查找冲突 接着就是我们常见的一些jar包冲突的一些检查方法,在这里我们就可以看到。不同的包,但是它引用了同一个子版本的包,而且包路径相包的名字版本号是一致的,这就导致了一个冲突了。...maven命令查找 另外还有一种方式是直接通过maven命令的方式去查找对应的一个包。...maven配置环境 在最下面主要是我贴的一个。配置mvn环境的一个方式,因为有些时候可能我们用的idea的默认的一个maven的配置。从而导致你在终端无法进行一个mvn命令的操控。

19020

maven jar包冲突解决

报错信息如下可能就是jar包冲突 Caused by:java.lang.NoSuchMethodError Caused by: java.lang.ClassNotFoundException pom.xml...再打开依赖图[Show Dependencies] ,发现此时的两个同样的jar包spring-beans版本是有冲突的,而且两个spring-beans所依赖的spring-core包版本也不同。...我们发现maven最后选择的是4.3.16.RELEASE的spring-beans和5.2.4.RELEASE的spring-core。那maven到底是如何来解决jar包版本冲突问题的呢?...———————————————— maven工程要导入jar包的坐标,就必须要考虑解决jar包版本冲突的问题。 主要有四种解决方式。...maven工程是可以分为父子依赖关系的。凡是依赖别的项目后,项目里引入的所依赖这个项目的所有依赖jar包,都属于传递依赖。

48820

Maven依赖冲突的解决方式

Maven依赖冲突的解决方式 [在这里插入图片描述] 对Maven概念还不了解的可以看看我的这篇文章: https://blog.csdn.net/pjh88/article/details/108520721...在讲依赖冲突之前我们先来讲讲什么是依赖传递 在maven中依赖是可以传递的,比如我们有A,B,C三个项目,其中A依赖B,B依赖C,由递推可知A依赖C [在这里插入图片描述] 举例 比如我们在web项目中导入...spring-webmvc还依赖其他jar包,比如sping-aop、spring-beans,所以我们的web项目也间接依赖了sping-aop、spring-beans [在这里插入图片描述] 什么是依赖冲突...这就造成了依赖冲突。...使用maven提供的依赖调解原则 第一声明者优先原则 在 pom 文件中定义依赖,以先声明的依赖为准。其实就是根据坐标导入的顺序来确定最终使用哪个传递过来的依赖。

67100

Maven依赖冲突的解决方式

Maven依赖冲突的解决方式 ?...对Maven概念还不了解的可以看看我的这篇文章: https://blog.csdn.net/pjh88/article/details/108520721 在讲依赖冲突之前我们先来讲讲什么是依赖传递...在maven中依赖是可以传递的,比如我们有A,B,C三个项目,其中A依赖B,B依赖C,由递推可知A依赖C ?...这就造成了依赖冲突。 ? 在我们的开发中我们当然啦不允许这种情况的出现,我们要使用什么版本,他就必须使用什么版本 ?...以上就是Maven依赖冲突的解决方式,如有帮助还请点赞关注支持,如有疑问评论私信都可,看到后可帮助解答本博客主要侧重于数据结构于算法和java开发,操作系统,计算机网络,觉得我的文章有帮助的小伙伴可以关注我

93621

Maven解决jar包版本冲突

jar冲突原因: jar包冲突主要是由于依赖传递导致的,不同的jar包依赖同一个不同版本的jar包,导致冲突。可以看下下图。 B和C都依赖D,但是不同的版本,所以在使用的过程中可能会出现问题。...依赖调解原则(内置解决方法) maven冲突这是常有的事,所以maven本身提供了一些基本的解决办法,maven内置了三个基本的原则 原则一:最短路径优先 原则二:第一声明者优先 原则三:覆盖优先...下面的三张图,最终选择的都是高版本的jar包 这是maven自动做的依赖解决,也就是不需要做任何处理。...手动解决依赖冲突  先说两个方法,然后在说下怎么做 排除依赖:用于排除某项依赖的依赖jar包 版本锁定 排除依赖就是在依赖中排除对应版本的jar包,断开依赖,在程序运行的时候会寻找其他的对应的版本...maven插件 因为我使用的是idea,所以直接在插件中搜索maven helper就可以了 file ->settings->plugins 打开插件的安装界面 安装完成之后就可以在pom 文件中看到

1.4K10

maven依赖冲突以及解决方法

什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的。...每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突 如何解决依赖冲突 首先查看产生依赖冲突的类jar,其次找出我们不想要的依赖类jar,手工将其排除在外就可以了...helper插件来检查依赖冲突 maven helper插件安装成功,点开pom.xml会发现多了一个Dependency Analyzer视图,如下 ?...上图说明有3个jar存在冲突,点击冲突的jar,可以查看和哪个jar产生冲突,如下图 ?...通过上图可以看到项目引入是 spring core 5.2.0的包 总结 综上就是maven如何排查依赖冲突以及解决方法,对于排查依赖个人比较推荐使用maven helper插件,至于解决依赖冲突个人推荐使用版本锁定的方法

54820

Maven依赖Jar冲突排查及解决

,反之却不会显示冲突; 解决冲突的方式 根据优先原则,把需要的版本放在路径最短的位置或最先声明 排除其他版本的依赖 使用包名替换(Shade) 冲突检测插件 IDEA中安装Maven Helper插件...Maven Helper插件 解决冲突有两种方式 检测冲突的插件升降版本解决 Jar包隔离 包名替换 归纳了解了几种业内的解决方案如下,各有优劣 spring boot方式,统一管理各个组件版本,简洁高效...shade 也有maven插件,通过更改jar包的字节码来避免jai包冲突,jar包冲突的本质是类的全限定名(包名+类名)冲突了,通过全限定名不能定位到你想用的那个类,maven-shade插件可以更改..." xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0...>8 8 <repositories

83940

maven依赖冲突以及解决方法

什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的。...每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突 如何解决依赖冲突 首先查看产生依赖冲突的类jar,其次找出我们不想要的依赖类jar,手工将其排除在外就可以了...helper插件来检查依赖冲突 maven helper插件安装成功,点开pom.xml会发现多了一个Dependency Analyzer视图,如下 [Dependency Analyzer.png...) 上图说明有3个jar存在冲突,点击冲突的jar,可以查看和哪个jar产生冲突,如下图 [查看冲突.png] 2、解决冲突 项目的pom.xml形如下 ...如何排查依赖冲突以及解决方法,对于排查依赖个人比较推荐使用maven helper插件,至于解决依赖冲突个人推荐使用版本锁定的方法,此外dependencyManagement只是声明依赖,并不自动实现引入

2.7K30

maven多模块和依赖冲突问题汇总记录

maven多模块和依赖冲突问题汇总记录 目录 maven多模块和依赖冲突问题汇总记录目录前言:idea怎么创建maven多module的项目首先了解上面是多module?...plugin问题MAVEN依赖冲突问题:依赖的传递原则:maven的依赖引入策略最短路径原则:最先声明原则:如何解决依赖冲突的问题锁定版本法什么情况下会出现Jar包冲突问题如何查找和发现jar包冲突?...MAVEN依赖冲突问题: 依赖的传递原则: 最短路径原则 最先声明原则 maven的依赖引入策略 最短路径原则: 我有下面两个依赖jar包,A和B,他们都引入了C这个依赖,这时候如果有如下的引用 A -...只有高版本Jar包不向下兼容,或者新增了某些低版本没有的API才有可能导致这样的问题 如何查找和发现jar包冲突?...Idea Maven Helper 插件 ? 如何使用? 安装完成之后,随便找一个pom.xml文件,按照如下的图例提示进行操作,对于冲突的内容,右击exclude就可以排除依赖: ?

3.8K40
领券