springboot 项目中java.lang.NoSuchMethodError错误处理

场景简介:Springboot 项目,开发工具IDEA

 报错分析:在另外一个项目中都能正常run的,作为子模块加入到怎么会这样呢,初步分析是jar包冲突

打开maven中的jar包关系图

 从图中可以看到有两个jar中都引用到了guava,其中我们但是版本不同,jvm引用了高版本的guava,结果高版本的guava没有报错程序所需的

方法,所以报错。

解决办法:找到依赖之后,将传递依赖排除

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
总结:项目整合经常会遇到jar包冲突的情况,在IDEA中使用maven的show dependences,可以很明显看到冲突在哪,这时找到依赖将其中一个排除掉即可。
原文地址:https://www.cnblogs.com/max1995/p/14813348.html