NoSuchMethodError问题解决记录-使用eclipse自带功能

本文介绍了解决Java开发中出现的NoSuchMethodError错误的方法,主要分析了该错误产生的两种常见原因:JDK版本不匹配和Jar包冲突,并提供了一种利用Eclipse进行详细排查的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NoSuchMethodError翻译过来是找不到方法

通过之前的查阅资料,知道一般是两种情况,一种是jdk版本不对,另一种是jar包冲突。

检查之后排除第一种原因,便针对第二种原因debug

使用开发工具eclipse

Eclipse Java EE IDE for Web Developers.

Version: Neon.2 Release (4.6.2)

找到代码报错的位置,例如:

找到Compiler.java这个类,拷贝这个类的全名,即xxx.xxx.xxx.Compiler。

eclipse-window-show view-Other搜索display,打开display窗口,在窗口中可以执行代码,关于display的功能网上已有说明,不做赘述

 

之后再报错位置之前打上断点,例如我28行报错,便在28行打断点,debug启动到28行时会停住,这时候不要F5或者F6下一步,会报错。在debug停住的时候切换到display窗口,输入这个类的全名,如xxx.xxx.xxx.Compiler,在后面加上.class.getProtectionDomain().getCodeSource(),例如:

xxx.xxx.xxx.Compiler.class.getProtectionDomain().getCodeSource()

选中这块代码然后点击红框的按钮执行,可以得到接下来你要跟踪的类的引用情况,检查这个类是不是在自己希望他引用的jar包的位置中,本次排查就发现引用来自不同的jar包,因为有类的重复。发现类的引用不对后,后续问题就简单了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值