java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java.lang.NoSuchMethodException异常

出现java.lang.NoSuchMethodException异常的解决(靠谱)

作者:回首掏88

这篇文章主要介绍了出现java.lang.NoSuchMethodException异常的解决方案(靠谱),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java.lang.NoSuchMethodException异常解决

首先,这个错误必然是运行期间的,网上说了一堆,检查类有没有这个方法,我觉得都是废话,没有这个方法,能通过编译?

下面我分享一个我项目运行报错java.lang.NoSuchMethodException情景

反复打包反复发布到生产都不行,但是奇葩的是,测试环境并没有报错。

于是玄学了一天,本来完全肯定是有同包同名的另一个class类存在,而这个类没有我要得方法。折腾了大半天,失去了信心。

有一个前提

我们本地jar包启动springboot都没有这个错误。都是打包到外部容器,war包运行就会出现这个错误。

终于

idea全局搜索了意外看到了All Places,发现maven引的一个jar包也存在同包同名的另一个class,坑人啊。

没有选All Places,只能找到项目工程下的,并不能找到jar包里面的内容。

找到这个同包同名的class文件之后,删除也好,maven排除依赖也好,都可以,按实际情况来定。

总结

存在同包同名的class文件,方法不一致,由于jvm的类加载机制,可能会加载另一个不是我们想要的class

所以在运行的时候报错java.lang.NoSuchMethodException.

最后:

请仔细检查类冲突!!!

请仔细检查类冲突!!!

请仔细检查类冲突!!!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文