繁体   English   中英

Intellij IDEA 未检测到更改

[英]Intellij IDEA doesn't detect changes

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

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

当 Intellij 突然停止注意到变化时,VCS -> Refresh File Status 为我解决了这个问题。

解决方案:

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

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

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

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

回答一个老问题,但是:

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

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

在此处输入图片说明

文件 -> 无效并重新启动

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

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

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

删除类目录的全部内容对我有用

另一个根本原因可能是:

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

就我而言,这解决了这种奇怪的行为!

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

这对我有用。

在 IntelliJ IDEA 中,

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

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

从 IntelliJ 和 Maven 中找到此帖子,但未找到 POM 更改。 必须重新加载所有 Maven 项目来修复它。 Maven 面板,箭头按钮的左上角圆圈。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM