Intellij 找到 .class 文件而不是 .java 文件

Intellij finds .class files instead of .java files

合并一些代码后,Intellij 使用 .java 文件和 .class 文件的混合构建我的项目。

另外,当我在 Intellij (ctrl+shift+n) 中搜索时,intellij 找不到一些 .java 文件。它只显示了这个文件的 .class 个文件。但是我可以通过文件结构找到文件。

我已经重新导入了 pom 文件。我也删除了整个项目并再次从 bitbucket 中提取它,问题仍然存在。当我从另一台机器上拉项目时,我没有这个问题。

谢谢帮助

编辑:所以我发现了真正的问题。我有 3 个模块,但只有 2 个贴标为模块。而且我不能将模块标记为模块,因为我删除了一些必要的文件。

您可以转到项目结构-> 模块并在依赖项选项卡中添加文件的目录依赖项。之后会显示 .java 个文件。

如果在不同位置使用新的克隆无法重现问题,则很可能是 InteliJs 项目文件已置于 git 控制之下,后来未能正确合并巧妙地破坏功能.

我会保存在此目录中完成的所有工作,重新克隆,应用保存的工作,并删除损坏的目录。然后我会确保 .idea/*.iml 从 git 控件中删除,并列在 .gitignore.

当您的项目中的模块之间存在 Maven 依赖关系时,可能会发生这种情况。

特殊情况是当您更新 Maven 中的依赖项以指向发布版本时,例如1.0.1,但是您项目中依赖项的代码在其 pom.xml 中仍然有一个快照版本(例如 1.0-SNAPSHOT)。

在这种情况下,IntelliJ 将从您的 Maven 存储库加载发布版本的 .class 文件,而不是从项目中的快照版本加载 .java 版本。

我遇到这个问题是因为 'java''test' 文件夹在从 GitHub 未分别标记为 'Source Root''Test Source Root'

你可以:

  • 右键单击“java”或“test”文件夹
  • 单击“将目录标记为”
  • 选择合适的