IntelliJ 编译时在同一个包中找不到类

Posted

技术标签:

【中文标题】IntelliJ 编译时在同一个包中找不到类【英文标题】:IntelliJ can't find classes in same package when compiling 【发布时间】:2016-04-19 02:40:31 【问题描述】:

作为我之前已解决的问题 (IntelliJ can't find depencency when compiling, but can in editor.) 的扩展,我现在遇到了一个新问题。

在同一个包中,对其他类的引用会出现错误:

正如您在图片中看到的那样,在涉及BifCreatorController 的行中发生了,即使该类与BifCreatorView 在同一个包中。

就像我之前的问题一样,我不明白为什么 IntellJ 会吐出这些错误。这个项目在 Eclipse 中运行良好,但我希望开始远离 Eclipse。

【问题讨论】:

【参考方案1】:

今天遇到同样的问题。重建或重新启动都对我不起作用。最后,我尝试重命名类,问题解决了!然后我将类重命名为我想要的名称,一切都很好!

【讨论】:

由于这种情况很少发生,这是一个非常适合我的解决方案。 所以我想这将如何运作。我去上课只是随机输入了一些内容,然后删除了随机文本并为课程编制了索引????我不知道如何或为什么。我确实使缓存无效并重新启动,这通常可以正常工作,但今天没有用。这很有效,我永远感谢你。 传奇。在 2 次重新启动但没有成功后,刚刚解决了一个小时的头疼和沮丧 重命名类并再次重命名回原来的类就可以了。谢谢! 也适用于“缺失”的接口。【参考方案2】:

这是因为 BifCreatorController 已从编译中排除(请参阅文件名附近的左上角小“X”图标)。一个原因是文件在编译时出现了一些错误,IDEA 建议将其从编译中排除,您已接受。

转到“文件 > 设置 > 构建、执行、部署 > 编译器 > 排除”并从那里删除它。

【讨论】:

太棒了!哇,我不知道 IntelliJ 会这样做。我非常强烈地觉得它应该给我一些关于这个的警告/信息信息。哦,好吧...一旦我更多地学习 IntellJ,也许我将能够预测这样的问题。谢谢 :) 您只需要一些时间来习惯它,顺便说一句,如果您是 Eclipse 用户,您可能会发现这份迁移指南(来自 IntelliJ 官方网站)很有价值:jetbrains.com/idea/help/eclipse.html【参考方案3】:

我有同样的问题,我清除了缓存并重新启动,但它并没有解决问题。然后我右键单击未找到的类并选择重新编译,重新编译后问题解决了。

【讨论】:

【参考方案4】:

对于那些无法克服麻烦的人,我建议切换到 maven,因为它具有预测性:

Maven > Runner > 将 IDE 构建/运行操作委托给 Maven

【讨论】:

截图表明这不是一个maven项目。因此,委派给 maven 不是一个解决方案。 在我的情况下,这是我被允许安装的 intellij idea 版本的唯一灵丹妙药。

以上是关于IntelliJ 编译时在同一个包中找不到类的主要内容,如果未能解决你的问题,请参考以下文章

java 主启动类找不到

CoreData 在 OSX 框架包中找不到映射模型,但在 iOS 中可以正常工作

/hibernate.cfg.xml 在 Intellij 中找不到

为啥 Intellij 在 pom.xml 中找不到任何 Maven 依赖项?

更改命名空间时在 Laravel 中找不到类“\App\User”

在 IntelliJ 中找不到 Maven java-doc 插件