IDEA JetBrains IntelliJ - 在“make”上编译错误,但在使用Maven编译时很好,并且在类文件中没有IntelliJ报告的错误

2022-08-31 22:44:26

所以我在IntelliJ中有一个maven模块(module-A)。我最近将一些类从它移动到另一个新的maven模块(模块B)中,并向其添加了依赖项。完成此操作后,我还修改了其中一个移动类(现在在模块B中)的方法的签名。

我重新导入了poms,以便IntelliJ可以拾取依赖项更改,并确保受影响文件的所有Java导入再次正确。现在,当我尝试运行我的 webapp(取决于两个模块)时,我在模块 A 中的类中遇到编译错误,该类调用模块 B 中类的修改方法。

错误消息基本上是说该方法不存在,但认为旧方法仍然存在!我点击“make”错误,它会把我带到模块A中一个类中的行,调用修改后的方法...奇怪的是,IntelliJ知道它在文件中很好。即,该方法通常不会像编译错误那样用红色下划线,但类文件名:(

我使用“mvn install”(也安装了模块B)从命令行编译了它,并且一切都很成功。我已经删除了模块A和模块B的目标中的类目录,并且还使IntelliJ的缓存无效并重新启动...仍在发生...任何想法?


答案 1

我发现这可能会有所帮助:

文件 ->使缓存失效


答案 2

Maven Projects -> Reimport应该会有所帮助。


推荐