开发环境无错,部署至测试环境报错“NoSuchMethodError”OR"NoSuchClassError"

背景:

  实现一个简单的功能,需要用到jedis的jar包连接Redis。在之前便已经有使用jedis,它的版本比较旧,是2.1的。而新实现的功能,在编码的时候使用的是2.8的。在开发环境完成单元测试后,将编译好的class文件拷贝更新至测试环境。因种种原因,导致功能无法运行,排查后,觉得可能是jedis版本问题。于是,将jedis的版本重新降为2.1。运行,开始报如题错误。

报错:

       java.lang.NoSuchMethodError

    PS:报这个错误的方法或者类明明存在,但是系统就是报这个错,百思不得其解。

 

解决方案:

     1、Jar包冲突问题,看看是不是Jar包版本不兼容。

      2、编译问题。跟前一条有关系,即因为编译时的jar包版本跟运行时的jar包版本不一致,从而导致报错。(ps:我遇到的就是这个问题,当时弄昏头脑了。)

      3、这个类或者方法的确不存在。

 

参考文献:

  javaweb在生产环境中,某个方法确实存在,但是总是报java.lang.NoSuchMethodError错误

  使用Jedis:java.lang.NoSuchMethodError

 

  java.lang.NoSuchMethodError: java.lang.Long  

  

 

转载于:https://www.cnblogs.com/liuyp-ken/p/6271389.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值