java - 编程时 Eclipse 无法编译并且自动完成功能不起作用

标签 java eclipse autocomplete mercurialeclipse

我安装了一个新的 Eclipse 插件(名为 AgentZero)。 我使用MercurialEclipse导入了一个项目,导入没问题。 现在,在对该项目进行编程时,没有编译。 此外,没有自动完成功能。当我尝试使用自动完成功能时,我收到以下消息: “此编译单元不在 Java 项目的构建路径上”。 之后,我收到此消息: “‘org.eclipse.jdt.ui’插件中的‘org.eclipse.ui.JavaAllCompletionProposalComputer’提案计算机未正常完成。扩展从‘computeCompletionProposals()’操作返回的时间太长。要避免出现此消息,请禁用‘org.eclipse.jdt.ui’插件或在内容辅助首选项页面中禁用‘Java Proposals’类别。”

所有其他项目都很好。 我能做些什么? 谢谢

最佳答案

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

这是一个Java项目吗?

  • 项目图标上是否有“J”叠加层?
  • 项目的属性对话框中是否有诸如Java Build PathJava Compiler之类的页面?
  • Builders属性页上,是否显示“Java Builder”并且该条目是否已选中?

源文件夹配置是否正确?

  • 检查项目属性中的Java 构建路径 > 源
  • 确保不存在不需要的包含/排除过滤器。

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

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

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

编辑:

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

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

为此,您应该知道这些文件的用途(由于“.* resources”过滤器,这些文件默认隐藏在 Package Explorer 中):

.project

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

.classpath

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

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

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

关于java - 编程时 Eclipse 无法编译并且自动完成功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30002718/

相关文章:

java - 返回一个通用对

Java EE Websocket : How to send keep sending data without receiving message?

java.lang.ClassNotFoundException : org. apache.hadoop.conf.配置

Android + Eclipse 如何将增强型ListView项目导入到我的项目中?

google-chrome - 文本框不显示正常的谷歌浏览器信用卡检测

java - 如何在 jackson 中跳过特定值的特定字段的序列化?

java - Java Eclipse SDK 入门

javascript - 使用动态表 Jquery 和 Javascript 自动完成

android - 自动完成库 - 跨浏览器/移动兼容

java - 如何让MediaPlayer重复播放声音?