NoSuchMethodError中文意思是没有找到方法,遇到这个错误并不是说依赖的jar包、方法不存在而找不到,这就类似于 ClassNotFoundException错误了,出现ClassNotFoundException错误也不一定是缺少依赖的jar、class,有可能是依赖的冲突,即引用了多次报错Class的jar。

  那么同样道理,NoSuchMethodError出现经常是因为报错的这个方法的类的jar包产生了冲突。

  明白了为什么会出现这个错误后,我们再去解决这个错误。一般情况下,手动引入jar包(即非依赖管理工具),直接remove掉重复的jar包就OK了。

  我们关键说下 Maven项目出现这个问题了怎么解决。

  是时候举个栗子了:

    比如之前做的一个 Spring Boot 项目,做的过程中有个地方需要用到阿里dubbo jar包中的方法,引入依赖

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
</dependency>
  
   之后导致项目无法启动,报错为:
    Exception in thread "main" java.lang.NoSuchMethodError: org.springframework.core.annotation.
        AnnotationAwareOrderComparator.sort(Ljava/util/List;)V
   Ctrl+左键点入 dubbo这个依赖,发现dubbo也需要依赖Spring,而且和我项目中的Spring版本并不一样,所以就产生了冲突,
解决这个的方法就是让dubbo依赖的Spring不再再添加进项目的依赖,如下:    
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>
这样项目就可以正常启动运行了。
 

  

最新文章

  1. JavaScript进阶之路(一)初学者的开始
  2. 8.Struts2类型转换器
  3. iOS - 沙盒与目录
  4. iOS开发路线简述
  5. 【BZOJ】1124: [POI2008]枪战Maf
  6. (34)odoo反代理中客户IP处理
  7. Windows升级(安装)MySQL 5.7.x 解压版 + 异常处理
  8. 【BZOJ 4551】【TJOI2016】【HEOI2016】树
  9. IIC,RS485,RS232各种协议手册更新中
  10. OC3_MyRect
  11. 深入探究VC —— 资源编译器rc.exe(3)
  12. C#中Invoke的用法
  13. .NET Core log4net 使用
  14. linux ls 命令
  15. CSS3 三角形运用
  16. 新概念英语(1-123)A trip to Australia
  17. Android Multimedia框架总结(二十三)MediaCodec补充及MediaMuxer引入(附案例)
  18. 简单GC具体操作参数查看
  19. oracle 如何查询/修改dmp文件的字符集
  20. hdpi对应分辨率

热门文章

  1. qt构建错误: dependent &quot;*.h&quot; does not exist.
  2. Android TextView文本处理库推荐
  3. springboot-配置多个数据源
  4. MySQL 主从复制开启 GTID
  5. Flask Rest接口
  6. vue中如何使用echarts,使用axios获取数据
  7. Jmeter获取数据库查询结果某一字段的值
  8. 【Spring JDBC】数据源配置(二)
  9. CF991C Candies
  10. 很多人都会做错的一道JVM题?【分享】