Intellij IDEA未检测到更改

昨天我重构了我的项目,并改变了我的包的布局(我将一些包移到另一个包中,创建了新的包等)。 但是现在,当我尝试运行JUnit测试时,我会在重构后更改名称的方法上获得NoSuchMethodError 。 此外,当我更改方法中的其他代码时,IDEA仍然运行旧代码..我试图在文件菜单中运行“无效缓存”,我也尝试重新启动计算机 – 没有结果。 哪里可以有问题?

编辑:昨天移动包后IDEA没有正确更改.java文件中的包声明,所以我手工更改了它们

我有两个建议可以在这里试试

  • 编辑您的测试配置并确保它们指向您期望的配置。 我有时看到重构没有在运行配置中被拾取,我不得不手动更改它
  • 不太可能工作,但尝试同步您的项目:文件 – >同步。 在项目的最高级别执行此操作

关于你的编辑 – 我自己也没见过。 每当我重命名或移动文件(包括包)时,这些更改都已正确应用于所有适用的文件。 您是否使用Refactor> Move / Refactor-> Copy进行重构?

当Intellij突然停止注意到更改时,VCS – >刷新文件状态为我解决了这个问题。

解:

两件事之后神奇地消失了:

  1. 我将这个项目导入eclipse并从eclipse运行JUNit测试。 然后我返回到IDEA并删除了所有Eclipse特定文件。

  2. 我同步了我的项目(文件 – >同步)。

我不知道究竟是什么问题的解决方案,但对于建议我接受@ SeanLandsman的答案

回答一个老问题,但是:

如果您正在使用运行配置,请确保在“运行/调试配置”对话框的“启动前”部分中添加了“构建”。 有时,它似乎会从此对话框中删除,即使您已将其添加到默认设置中。

另一个根本原因可能是:

如果您使用的是Lombok,请尝试卸载/重新安装Intellij Lombok插件。

在我的情况下,这解决了这种奇怪的行为!