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