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

author author     2023-03-27     256

关键词:

1.确定出了问题的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。
2.通过mvn dependency:tree > tree.txt 导出全部的依赖。
3.在导出的依赖文件中,查找问题相关的jar。确定这些jar是如何被依赖进来的,是直接依赖的还是通过传递依赖引入的。
4. 找到相互冲突的并需要排除的依赖的顶级依赖,并分析冲突的原因,冲突的原因可能是以下几种:
同一个jar包但groupId, artifactId不同,这种冲突只能通过设定依赖的<exclusions> 来进行排除
需要的版本jar包依赖路径较长,这种冲突可以把想要版本的依赖直接什么在依赖中,这样路径就最短了优先级最高。
5.最后可以通过打包mvn install 来确认打出来的war包中是否有被排除的依赖。
参考技术A 1.确定出了问题的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。
2.通过mvn dependency:tree > tree.txt 导出全部的依赖。
3.在导出的依赖文件中,查找问题相关的jar。确定这些jar是如何被依赖进来的,是直接依赖的还是通过传递依赖引入的。
4. 找到相互冲突的并需要排除的依赖的顶级依赖,并分析冲突的原因,冲突的原因可能是以下几种:
同一个jar包但groupId, artifactId不同,这种冲突只能通过设定依赖的<exclusions> 来进行排除
需要的版本jar包依赖路径较长,这种冲突可以把想要版本的依赖直接什么在依赖中,这样路径就最短了优先级最高。
5.最后可以通过打包mvn install 来确认打出来的war包中是否有被排除的依赖。本回答被提问者和网友采纳
参考技术B 1.确定出了问题的jar包名称。通常可以在eclipse中查找冲突的类有在哪些依赖包里面出现了。并确定实际要使用的是那个包,冲突的包有哪些。
2.通过mvn dependency:tree > tree.txt 导出全部的依赖。
3.在导出的依赖文件中,查找问题相关的jar。确定这些jar是如何被依赖进来的,是直接依赖的还是通过传递依赖引入的。
4. 找到相互冲突的并需要排除的依赖的顶级依赖,并分析冲突的原因,冲突的原因可能是以下几种:
同一个jar包但groupId, artifactId不同,这种冲突只能通过设定依赖的<exclusions> 来进行排除
需要的版本jar包依赖路径较长,这种冲突可以把想要版本的依赖直接什么在依赖中,这样路径就最短了优先级最高。
5.最后可以通过打包mvn install 来确认打出来的war包中是否有被排除的依赖。

没有版本的jar包怎么在maven里的pom配置

一般的java企业项目中都会引用十几个甚至数十个jar包,这些jar包又会引用各自需要的jar包,这里就有可能产生冲突,比如jarA引用了jarC的1.0版本,而同时jarB引用了jarC的2.0版本,这时候同一项目中就同时引用了jarC的1.0版本和2.0版... 查看详情

原maven解决jar冲突调试步骤:第三方组件引用不符合要求的javassit导致的相关异常

【环境参数】开发框架:Spring+MyBatis+SpringMVC+KettleJDK版本:1.8.0_91javassist依赖版本:javassit-3.12.1.GA 【障碍再现】在Kettle工具初始化时,抛出如下异常:java.io.IOException:invalidconstanttype:15 atjavassist.bytecode.ConstPool.readO 查看详情

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

...方面简化了依赖声明,另一方面如果传递依赖有可能引发版本冲突。例如:有这样的依赖关系:a->b->c->x(1.0)、a->d->x(2.0),对于这样的冲突Maven给出的方案是:第一原则:路径最近者优先,第二原则:在路径长度相等的... 查看详情

java中maven引用拥有同名方法的jar包的问题

...maven信息(A1/A2)望采纳!追问请问jar包中同名方法的冲突要怎么配置解决?这样做的话不会产生冲突吗?追答虽然方法同名,但是他们在不同的类中,如果你想用A1中的某个方法,你引包的时候就引A1的。如果两个工程是相互独立的... 查看详情

如何删除maven中冲突的jar包

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

java中的maven是干啥的?

...成站点,管理JAR文件,等等。例如:项目开发中第三方jar引用的问题,开发过程中合作成员引用的jar版本可能不同,还有可能重复引用相同jar的不同版本,使用maven关联jar就可以配置引用jar的版本,避免冲突。你给出的图片中bina... 查看详情

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

...:mvc和context都依赖与sprng-core一个,依赖的是5.0.8版本,一个依赖的是4.2.4版本,那么真正加载的是5.0.8版本,如何换成4.2.4版本呢,有三种方式:1、依据声明优先原则调换依赖在pom文件中的顺序,如... 查看详情

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

...:mvc和context都依赖与sprng-core一个,依赖的是5.0.8版本,一个依赖的是4.2.4版本,那么真正加载的是5.0.8版本,如何换成4.2.4版本呢,有三种方式:1、依据声明优先原则调换依赖在pom文件中的顺序,如... 查看详情

maven依赖冲突

...sers.DocumentBuilderFactory。这些库中的每一个都从不同的jar中引用文件(一个从名为xmlParserAPIs的jar中获取它,而另一个从xml-apis-1.0.b2.jar中获取它)。不幸的是,每个文件 查看详情

maven如何处理儿童jar的版本

】maven如何处理儿童jar的版本【英文标题】:Howmavenhandleversionforchildrenjar【发布时间】:2022-01-2222:00:29【问题描述】:我有多模块Maven项目。在parempom.xml的内部,我在properites标记中设置版本,比如说log4j-core库。在儿童内部(我们... 查看详情

怎么删除maven项目中依赖的jar文件

参考技术A首先移除不需要的版本的jar包maven引用;然后重新打包程序即可去除 查看详情

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

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

关于maven中引用的jar的version配置为版本区间自动使用最新的版本,maven是如何判断哪个版本更加新?(代码片段)

背景在Maven中,a工程引入了个jar包(b工程),可以使用区间引入的方式,类似于数学区间的写法,如下<dependency><groupId>org.example</groupId><artifactId>demo-jar</artifactId>& 查看详情

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如何解决这个冲突?... 查看详情

全总结(代码片段)

...处理3、手动解决依赖冲突先说两个方法,然后在说下怎么做排除依赖:用于排除某项依赖的依赖jar包版本锁定排除依赖就是在依赖库中排除对应版本的jar包,断开依赖,在程序运行的时候会寻找其他的对应的版本... 查看详情

httpclient.jar和fastjson.jar发生冲突了,怎么解决?两个包都想要

参考技术Agson和fastjson我都在项目使用过了,相比较而言,gson对字段的处理更细腻一些,有版本号的概念,相对更灵活,值得注意是,gson直接入侵字段,则不是setget方法;fastjson速度更快,但字段的处理不够灵活,特别是处理同... 查看详情

ideadependencies波浪线-缺少依赖问题

...二问题描述若还是出现红色波浪线,则有极大可能是maven引用的jar包有版本冲突。IntelliJIDEA查找依赖关系,解决jar包冲突maven工程,一个artifact的jar包可能不只一处被依赖;有时候依赖会出现相同的artifact却不同版本,相互存在冲... 查看详情

如何解决包冲突问题

...truts-taglib-1.3.8.jar,struts-tiles-1.3.8.jar为version1.2在struts1.2中引用tilestld的写法发生变化故解决法如下:1.去掉原strtus.jar2.去掉struts-tiles.tld3.将所有JSP页面中的改为参考技术A有时候在用maven进行项目打包过程中,会出现下面这种错误... 查看详情