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,可以很明显看到冲突在哪,这时找到依赖将其中一个排除掉即可。
posted @ 2021-05-26 14:34  不变的变  阅读(968)  评论(0编辑  收藏  举报