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