Eclipse不会在包资源管理器视图中刷新项目文件

时间:2010-05-12 10:55:14

标签: java eclipse

今天我在3个月内第一次看到了Eclipse 3.5.2的奇怪行为。

首先,当我运行一个main函数时,它运行一个以前编译的版本。假设我在窗口中按下Ctrl + F11,打开java类和现有的main函数。通常它会重建类并运行新版本。今天即使出现编译错误,也可以正常运行。所以我想它不会重新编译这个类。

接下来,更奇怪的是,如果我故意在代码中出错并且Eclipse用红色强调这些行,那么项目资源管理器仍然不会将它们标记为包含错误。如果没有任何错误,它们仍然是灰色。

首先我不知道如何解决这个问题。我试图重新打开项目,重新启动Eclipse,最后重新启动操作系统。在第十次尝试之后,在重新启动之后,Eclipse说所有项目的文件都是“与文件系统不同步”。当我在 Project Explorer 中按下项目标题名称上的“刷新” - F5时,它最终将所有包含错误的文件标记为包含错误,并运行主函数给出了所需的结果。

我的工作一小时过去,再次发生,与另一个项目一起。全都一样。没有标记的文件为红色,无论什么旧版本的类没有编译错误都会运行。

由于Eclipse没有说明文件不同步,只需在项目上按F5就无济于事。

你有什么建议?

4 个答案:

答案 0 :(得分:13)

当您在Project Explorer视图中选择项目并按F5时,Eclipse 应该遍历项目的整个目录树,检查所有文件和目录是否同步。它对我有用......

我唯一可以想到的是,如果你有文件系统时间戳异常,这将导致无法正常工作。例如,如果文件系统中的文件已更新,但文件的最后修改文件显示它在过去已更新。如果机器的系统时钟在不方便的时候向后或向前移动,就会发生这种情况。如果您认为这可能已经发生,请尝试关闭所有项目,重新启动Eclipse并进行另一次F5刷新。

(我遇到了很多Eclipse同步问题,但我把它归结为flakey插件的组合,并从命令行进行构建。无论是F5还是Project> Clean通常都适用于我。)

答案 1 :(得分:9)

是否自动生成? (Menu > Project > Build automatically

答案 2 :(得分:2)

它发生在我身上,因为两个项目之间存在循环依赖关系。每个项目都有另一个在其构建路径上。

答案 3 :(得分:1)

解决方案重新导入项目

当我从资源管理器中查看svn中的新文件时,它发生了。由于某种原因,Eclipse无法找到新文件。

我尝试刷新项目( F5 )和Project > Clean并构建项目(Project > Build All)这些都不适用于我。

所以我从Project Explorer视图中删除了项目(不是从硬盘中删除)。确保取消选中“删除磁盘上的项目内容(无法撤消)”复选框,并在执行此操作之前保存所有未保存的更改。

现在使用File > Import选项重新导入项目。这应该适用于大多数情况。