代码有问题,Eclipse 文件图标却没有出现红叉,需要分开检查“有没有诊断”和“诊断有没有显示”。没有红叉不等于可以成功构建。

先从 Problems 视图开始

打开 Problems,确认是否存在相关错误,再检查视图过滤条件是否只展示当前资源、特定项目或某种问题类型。不同视图里的图标装饰和编辑器标记也可能有独立设置。

如果没有诊断,继续确认文件是否位于 Java 源目录、项目是否具有正确的 Java 配置,以及自动构建是否开启。保存文件后可在可恢复的工程中执行正常构建,观察是否产生新的问题记录。

构建路径错误和普通语法错误不同

项目属性的 Java Build Path 中,检查失效的库路径、关闭的引用项目、JRE System Library 和依赖关系。Problems 中的原始文字比一个红叉更能说明方向。

Eclipse 的 Java > Compiler > Building 还区分:

  • Incomplete build path:路径不存在、不合法或不可见等问题。
  • Circular dependencies:项目之间形成循环依赖。
  • Abort build when build path errors occur:路径错误时是否中止构建。

这些是不同的设置,不能混作同一个“显示红叉”选项。Eclipse Building 偏好说明

为什么不建议直接改成 Warning

把 Error 改成 Warning,只是降低诊断级别,并没有恢复缺失的库,也没有消除循环依赖。某些后续诊断可能随构建行为改变而出现,但这不等于根因被修复。

工作空间设置通常在 Window > Preferences > Java > Compiler > Building;项目设置从 Properties > Java Compiler > Building 进入,并可能启用项目专用设置。菜单位置随版本不同,修改前应确认作用范围。

建议保留原错误文字和设置,只针对证据修复一个问题,再重新构建检查。不要一口气降低所有错误级别、删除工作空间配置,或仅以图标重新出现作为完成标准。