maven依赖jar包版本冲突解决方案

lzzz      2022-02-16     534

关键词:

1、为何会产生依赖冲突

  Maven中的传递性依赖机制,一方面简化了依赖声明,另一方面如果传递依赖有可能引发版本冲突。例如:有这样的依赖关系:a->b->c->x(1.0)、a->d->x(2.0),对于这样的冲突Maven给出的方案是:第一原则:路径最近者优先,第二原则:在路径长度相等的前提下,pom中的依赖声明的顺序决定了谁会被解析。

2、如何排除依赖

  pom如下:

  

<dependency>
    ......
    <exclusions>
        <exclusion>
            ......
        </exclusion>
    </exclusions>        
</dependency>

3、优化依赖

3.1 相关mvn命令

  mvn dependency:list 

  mvn dependency:tree

  mvn dependency:analyze

3.2 Idea优化支持

 

maven依赖导致的jar包冲突解决方式

maven依赖导致的jar包冲突解决方式:mvc和context都依赖与sprng-core一个,依赖的是5.0.8版本,一个依赖的是4.2.4版本,那么真正加载的是5.0.8版本,如何换成4.2.4版本呢,有三种方式:1、依据声明优先原则调... 查看详情

maven依赖冲突以及解决方法(代码片段)

什么是依赖冲突依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突依赖冲突的原因依赖冲突很经常是类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它的隐式类包,... 查看详情

04_项目一众筹00_05maven依赖概念,依赖范围依赖传递性依赖的原则:解决jar包冲突依赖排除统一版本管理

Maven概念_目录文章目录Maven概念_目录依赖范围依赖传递性依赖的原则:解决jar包冲突依赖排除统一版本管理依赖范围依赖传递性具体例子:先跟上一篇文章那样,创建一个新的Maven项目然后再建一个C最后我们来实现他... 查看详情

maven学习总结(59)——mavenjar包冲突最全解决方案总结

前言在实际开发中,多模块项目常会使用Maven进行包管理。在poml文件中进行包依赖时,常存在引入一个jar包中默认依赖了其他的jar包的情况。这样很容易导致jar包冲突,从而产生一些诡异问题,如版本问题导致的类、方法找不到... 查看详情

maven学习总结(59)——mavenjar包冲突最全解决方案总结

前言在实际开发中,多模块项目常会使用Maven进行包管理。在poml文件中进行包依赖时,常存在引入一个jar包中默认依赖了其他的jar包的情况。这样很容易导致jar包冲突,从而产生一些诡异问题,如版本问题导致的类、方法找不到... 查看详情

maven怎么处理引用的jar版本冲突

...的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。2.通过mvndependency:tree>tree.txt导出全部的依赖。3.在导出的依赖文件中,查找问题相关的jar。确定这些j... 查看详情

maven怎么处理引用的jar版本冲突

...的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。2.通过mvndependency:tree>tree.txt导出全部的依赖。3.在导出的依赖文件中,查找问题相关的jar。确定这些j... 查看详情

使用mavenhelper解决maven依赖冲突(代码片段)

1、何为依赖冲突Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的。Maven的依赖机制会导致Jar包的冲突。举个例子,现在你的项目中,使用了两个Jar包,分别是A和B。现在A需要依赖另一个Jar包C,B... 查看详情

全总结(代码片段)

...#xff0c;因为我们公司的项目都是使用maven管理项目的第三方依赖,一直都只会一种解决方法就是锁定版本,今天好好总结一下,记录一下。1、冲突原因:jar包冲突主要是由于依赖传递导致的,不同的jar包依赖同... 查看详情

如何删除maven中冲突的jar包

首先在自己的pom中,人为不可能引入两个版本不同的依赖。冲突最可能的就是你依赖的依赖可能产生了冲突。比如A依赖版本为2.0的C,B依赖版本为3.0的C。在你的pom中,你同时依赖了A和B,这时就会产生冲突。这时候你就要判断,... 查看详情

intellijidea查找依赖关系,解决jar包冲突

maven工程,一个artifact的jar包可能不只一处被依赖;有时候依赖会出现相同的artifact却不同版本,相互存在冲突,这时就需要exclude某个版本。 试了在命令行工程目录下执行mvndependency:tree可以出来文本的依赖关系... 查看详情

如何配置mavenpom文件来解决jar包冲突

maven3在解决依赖冲突采用就近原则,在就近原则不能做出判断的情况下依据pom.xml的声明的先后顺序决定导入的jar。jar包冲突多为传递性依赖的管理不当给项目带来的麻烦解决思路罗列如下:1、首先查看当前项目的jar关系如果使... 查看详情

ideadependencies波浪线-缺少依赖问题

...pom.xml文件,右键maven-->reimport ,等待maven重新加载依赖。3、同上面操作一样,可以同时对整个项目的所有pom.xml文件进行reimport。打开编译器右边的maven管理工具,点击reimportallmavenprojects。第二问题描述若还是出现红色波浪... 查看详情

第十九天maven总结(代码片段)

...Maven环境3.2创建Maven项目3.3Maven坐标详解3.4导入maven项目4.依赖管理4.1依赖配置4.2依赖传递4.3依赖范围4.4生命周期4.5插件Maven1.前言1).什么是Maven?Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。官网:... 查看详情

maven管理工具(代码片段)

...冲突的方式:1.第一声明优先原则2.路径近者优先原则.直接依赖路径比传递依赖路径近.直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖jar包传递到项目中去.3.... 查看详情

如何快速的解决maven依赖冲突

首先要说明Maven的依赖管理,具体的可以参考这边Maven学习——依赖管理这篇文章,maven在依赖冲管理中有一下几个原则。依赖是使用Maven坐标来定位的,而Maven坐标主要由GAV(groupId,artifactId,version)构成。如果两个相同的依赖包,... 查看详情

maven多个jar包版本依赖问题

  maven中使用jar包的多个版本容易造成依赖问题,解决问题的方式可以将使用jar包的版本排除掉,比如dubbo使用netty4.0.33版本可以将dubbo排除掉netty依赖,这样其他jar包就不会引用到netty4.0.33版本了。  如下:<dependency><gr... 查看详情

Maven - 不同版本的传递依赖

】Maven-不同版本的传递依赖【英文标题】:Maven-transitivedependencieswithdifferentversions【发布时间】:2011-12-2220:16:42【问题描述】:假设我的应用程序需要foo.jar和bar.jarfoo.jar需要c.jar的1.0版bar.jar需要c.jar的2.0版Maven如何解决这个冲突?... 查看详情