昨天我重构了我的项目并更改了我的包的布局(我将一些包移到另一个包中,创建了新的包等)。但是现在,当我尝试运行JUnit测试时,我会在重构后更改名称的方法上获得NoSuchMethodError
。此外,当我更改方法中的其他代码时,IDEA仍然运行旧代码..我试图在文件菜单中运行“无效缓存”,我也尝试重新启动计算机 - 没有结果。哪里有问题?
编辑:昨天移动包后IDEA没有正确更改.java
个文件中的包声明,所以我手动更改了它们
答案 0 :(得分:6)
VCS - >当Intellij突然停止注意到更改时,刷新文件状态为我解决了这个问题。
答案 1 :(得分:3)
解决方案:
错误在两件事后神奇地消失了:
我将这个项目导入eclipse并从eclipse运行JUNit测试。然后我返回到IDEA并删除了所有Eclipse特定文件。
我同步了我的项目(文件 - >同步)。
我不知道问题的解决方案究竟是什么,但建议我接受@ SeanLandsman的回答
答案 2 :(得分:1)
我有两个建议你可以在这里尝试
关于你的编辑 - 我自己也没见过。每当我重命名或移动文件(包括包)时,这些更改都已正确应用于所有适用的文件。你是否正在使用Refactor> Move / Refactor-> Copy进行重构?
答案 3 :(得分:1)
回答旧问题,但是:
如果您正在使用“运行配置”,请确保在“运行/调试配置”对话框的“启动前”部分中添加了“构建”。有时,它似乎会从此对话框中删除,即使您已将其添加到默认设置中。
答案 4 :(得分:1)
答案 5 :(得分:0)
另一个根本原因可能是:
如果您使用的是Lombok,请尝试卸载/重新安装Intellij Lombok插件。
在我的情况下解决了这种奇怪的行为!
答案 6 :(得分:0)
尝试删除引发nosuchmethod错误的类的.class文件,然后重新编译。
答案 7 :(得分:0)
删除class dir的全部内容对我有用
答案 8 :(得分:0)
这对我有用。
在IntelliJ IDEA中,
然后,您可以导航到“本地更改”选项卡。