java.lang.NoSuchMethodError的一个排错问题

这个异常就是字面意思,“没有对应的方法”,我这里主要是记录一下今天所碰见的一个比较奇怪的现象。

今天在项目系统中碰到这么一个异常,排查了许久,无论是在debug的时候调试调用所谓“缺失“的方法(在debug里面调用的到,但运行起来就抛异常),还是根据依赖路径去找对应依赖包底下找对应的方法,都无法解决问题。甚至一度去官网上下载等同版本的依赖包做MD5哈希码的比较。都没有解决问题。

        没有任何头绪,只能求助于源码开发者的帮忙,但是他告诉我他那边测试是可以的。于是,换了个思维想,重新编译了调用这个“缺失方法”的对象,结果发现成功了。

总结:当某个依赖包升级幅度很大的时候,内部有些方法的返回类型,或者是出入参有所变化,但是调用这个变化的方法的对象,没有重新进行编译,那记录在内部的,仍然是旧版的方法体,与实际上新版依赖包内部的方法并不一致,这时候,去运行项目,就会抛出这样的异常,解决方案也很简单,重新编译一下有调用到这个变化的方法的对象类即可,属于小概率事件,谨饬起见,于此记录。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值