Intellij IDEA未检测到更改

时间:2013-02-22 09:07:43

标签: java intellij-idea

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

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

9 个答案:

答案 0 :(得分:6)

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

答案 1 :(得分:3)

解决方案:

错误在两件事后神奇地消失了:

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

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

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

答案 2 :(得分:1)

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

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

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

答案 3 :(得分:1)

回答旧问题,但是:

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

答案 4 :(得分:1)

为了解决该问题,我要做的是“无效并重新启动”:

enter image description here

文件->使无效并重新启动

答案 5 :(得分:0)

另一个根本原因可能是:

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

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

答案 6 :(得分:0)

尝试删除引发nosuchmethod错误的类的.class文件,然后重新编译。

答案 7 :(得分:0)

删除class dir的全部内容对我有用

答案 8 :(得分:0)

这对我有用。

在IntelliJ IDEA中,

  1. 右键单击该项目。
  2. 选择Git->显示历史记录。
  3. 打开“版本控制”

然后,您可以导航到“本地更改”选项卡。