【Bug解决】idea debug 出现 no such instance method: ‘XXX‘

文章描述了一位开发者在B项目中添加MongoDB表字段并用Jenkins部署后,A项目因依赖更新出现问题。在IDEA调试时遇到方法找不到的错误。通过反编译检查和Maven的clean、compile命令,最终发现是文件编译未生效导致的问题。

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

一、场景复现:

        由于我在B项目中对一个mangodb的表加了一个字段 暂定为 flag ,然后用jenkins打包部署后,而 A 项目依赖了 B项目,随后将 A 的 maven repos 中的相关依赖删除重新加载,加载之后调用用Dao层去调用新加的 flag字段

    如下代码:

    BXXXDAO.getFlag();

然后在IDEA debug模式下 使用 execution 尝试去获取这个  BXXXDAO.getFlag() 方法的结果,此时出现 no such instance method: 'x',是真的莫名其妙!

二、问题分析与解决

                排查了很久,之间包括依赖的jar包反编译排查,发现jar包中新加字段是有的,

反编译查看jar包工具可以使用 jd-gui 个人感觉还是不错的。

                最后反复排查,也是突然考虑到是不是文件没有生效,就尝试maven解决一下,先clean、再compile,发现竟然好了(之前也一直尝试去clean,却忘记了compile,头痛),最后找到了该问题原因是:文件编译部分没有生效。当然具体问题具体分析,本问仅供参考,如有问题,欢迎评论区留言讨论,看见即回。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leo|程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值