开发者

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

开发者 https://www.devze.com 2023-03-16 10:35 出处:网络 作者: 回首掏88
目录Java.lang.NophpSuchMethodException异常解决有一个前提终于总结java.lang.NoSuchMethodException异常解决
目录
  • Java.lang.NophpSuchMethodException异常解决
    • 有一个前提
    • 终于
  • 总结

    java.lang.NoSuchMethodException异常解决

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

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

    • 第一,我保证自己项目绝对有这个类和这个方法。且有一个?
    • 第二,其他什么形参也都正确,从服务器拿包下来,反编译class文件也都没问题。阿,这。。。。。

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

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

    有一个前提

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

    终于

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

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

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

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

    总结

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

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

    最后:

    请仔细检查类冲突!!!

    请仔细检查类冲突!!!

    请仔细检查类冲突!!!

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

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号