Eclipse 没有编译,而编程和自动完成不起作用

Eclipse is not compiling while programming and auto-complete doesn't work

我为 Eclipse 安装了一个新插件(名为 AgentZero)。 我使用 MercurialEclipse 导入了一个项目,并且导入没问题。 现在,在对这个项目进行编程时,没有编译。 此外,没有自动完成。当我尝试使用自动完成时,我收到以下消息: "This compilation unit is not on the build path of a Java project"。 之后,我收到此消息: "The 'org.eclipse.ui.JavaAllCompletionProposalComputer' proposal computer from 'org.eclipse.jdt.ui' plug-in did not complete normally. The extension took too long to return from the 'computeCompletionProposals()' operation. To avoid thus message, diable the 'org.eclipse.jdt.ui' plug-in or disable the 'Java Proposals' category int the content assist preference page."

其他项目都没问题。 我能做什么? 谢谢

您需要检查导入是否已将项目正确配置为 Java 项目。

它是 Java 项目吗?

  • 项目图标上有 "J" 叠加层吗?
  • 项目的[=94]中是否有JavaBuild Path&JavaCompiler等页面=]对话框?
  • Builders 属性 页面上,是否显示 "Java Builder" 并且是否检查了该条目?

源文件夹配置是否正确?

  • 检查项目属性中的 Java Build Path > Source
  • 确保没有不需要的 inclusion/exclusion 过滤器。

如果其中任何一个丢失或有错误,JDT 缺少建议任何代码完成的上下文——因此您会看到错误对话框。

我无法就 AgentZero 提供建议,您也没有具体说明此插件与问题的关系。

如果上述方法未能解决问题,您应该在错误日志中查找最近的条目。

编辑:

如果项目确实没有正确配置为 Java 项目,了解您是如何陷入这种情况的可能会很有趣。例如,如果您只是在项目导入期间忘记了 select 一个选项,那么重新开始可能是最干净的选择。如果,OTOH,导入工具未能执行它应该执行的操作,您可能想要报告一个错误(在这种情况下针对 MercurialEclipse)。

如果无法通过重新导入解决问题,对项目配置文件进行一些仔细的修改可能会让您回到正轨。在这种情况下,我建议创建一个新的普通 Java 项目,并使用创建的配置作为您修复的参考。

为此,您应该知道这些文件的用途(由于“.* 资源”过滤器,这些文件在默认情况下都隐藏在包资源管理器中):

.项目

此文件应将 Java 性质 附加到项目。这就是 Eclipse 将项目识别为 Java 项目的方式。此外,.project 声明了所有自动调用的 builder。添加 nature 和 builder(如果没有)是一个安全的操作,可能已经解决了您的问题。在项目属性对话框中检查结果。

.类路径

此处 Eclipse 存储您在 Java 构建路径 属性 页面上配置的所有内容。由于此文件的内容在很大程度上取决于您如何管理依赖项(例如,使用 Maven?),因此无法给出一般性建议。如果可能,使用属性对话框而不是手动编辑。

.settings/org.eclipse.jdt.core.prefs

这里 JDT 存储所有进一步的配置选项,如编译器选项。