Maven中jar包冲突原理与解决办法

网友投稿 220 2022-11-23


Maven中jar包冲突原理与解决办法

Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题。本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲突的解决办法。

一、Maven中jar包冲突产生原因

MAVEN项目运行中如果报如下错误:

Caused by:java.lang.NoSuchMethodError

CauseAfCADqd by: java.lang.ClassNotFoundException

十有八九是Maven jar包冲突造成的。那么jar包冲突是如何产生的?

首先我们需要了解jar包依赖的传递性。

1、依赖传递

当我们需要A的依赖的时候,就会在pom.xml中引入A的jar包;而引入的A的jar包中可能又依赖B的jar包,这样Maven在解析pom.xml的时候,会依次将A、B 的jar包全部都引入进来。

举个例子:

在Spring Boot应用中导入Hystrix和原生Guava的jar包:

com.google.guava

guava

20.0


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:几个好用Maven镜像仓库地址(小结)
下一篇:解决IDEA无法下载maven依赖的问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~