首页 > 代码库 > 开发环境无错,部署至测试环境报错“NoSuchMethodError”OR"NoSuchClassError"
开发环境无错,部署至测试环境报错“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错误
开发环境无错,部署至测试环境报错“NoSuchMethodError”OR"NoSuchClassError"
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。