我用Eclipse开发Java代码,经常收到这样的消息:

资源与文件系统不同步。

右键单击>刷新将始终清除此选项。

但是为什么Eclipse在发现这种情况时不能自动刷新呢?是否存在您希望资源不同步的情况?

如果存在这样的条件,而它们不适用于我的工作,那么是否有一种方法可以让Eclipse在遇到这种状态时自动刷新?(我认为,为了提高人类开发人员的性能,它应该尽可能少地刷新。)

更新(2012-06-25): 我的最新更新(版本:Indigo发布版本id: 20110615-0604) 不再显示 首选项—常规—工作空间—自动刷新 有一个选项“刷新访问”-我应该使用这个吗?


您可以在窗口-首选项-常规-工作空间-自动刷新中启用此功能(在新版本中使用本机挂钩或轮询称为刷新)

我认为默认情况下不启用此功能的唯一原因与性能有关。

例如,自动刷新源文件夹可能会触发工作空间的构建。也许有些人想要更多的控制。

Eclipse站点上还有一篇关于自动刷新的文章。

基本上,没有外部触发器通知Eclipse在工作区外更改的文件。相反,Eclipse使用后台线程监视可能导致大型工作空间性能问题的文件更改。


这种事经常发生在我身上。

转到错误日志,找到异常,并打开几个级别,直到您可以看到更像是根本原因的内容。是否显示“资源与文件系统不同步”?

当然,在重命名包时,Eclipse必须在文件系统中移动文件。显然发生的事情是,它后来发现它认为需要清理的某些东西被重命名了,找不到它,抛出一个异常。

有几件事你可以尝试一下。首先,选择“窗口:首选项,工作空间,并启用“自动刷新”。理论上,这应该能解决问题,但对我来说,并没有。

其次,如果您正在使用子包进行大型重构,那么从下往上一次只执行一个子包,并在重命名每个子包后显式地使用文件系统刷新。

第三,忽略错误:当出现错误对话框时,单击Abort以保留部分更改,而不是将其回滚。一次又一次地尝试,您可能会发现您可以通过多次重试来完成整个操作。


如果尝试删除文件夹(在*nix上)时出现这种情况,并且刷新不起作用,请打开终端并在您试图删除的文件夹下面查找符号链接并手动删除该符号链接。这解决了我的问题。


对于新的Indigo版本,首选项更改为“访问时刷新”,并有详细的解释:通过工作空间访问时自动刷新外部工作空间更改。

由于“资源与文件系统不同步”,当我使用外部工作空间时发生了这个问题,所以在我选择这个选项后,问题解决了。


只需右键单击文件或项目,然后单击刷新。错误将会消失。我也遇到过同样的问题,这对我很有效。


一个小提示。该消息经常在重命名操作期间出现。对我来说,快速的解决方法是在消息确认后按Ctrl-Y(重做快捷键)。它只在重命名影响单个文件时有效。


When you open an Eclipse workspace from within a clearcase view and try to rename the project, you will often get the pop-up warning ... “Resource ‘project’ is out of sync with the file system”. If refreshing the project does not fix the problem, then do the following workaround: a. Open workspace WITHOUT being in a view b. Select the project in Project Explorer c. ClearCase -> Associate Project (project should now look like project [] ) d. Right click project -> Refresh (vob sub-folders should now be empty) e. Right click project -> Rename ... f. Enter New name

现在您可以关闭工作区,在视图中重新打开它并刷新项目。如果您不希望项目与vob相关联,也可以分离该项目。


如果您是一个普通的Eclipse用户,那么您可能多次遇到这个错误。这个错误只是说,“您已经从eclipse外部更改了工作区中的文件”。最简单的解决方案是选择项目并按F5(右击->刷新)。

如果你需要更多的解释,你可以从这个网站上阅读


窗口->首选项->常规->工作空间


我无法通过刷新或打开“本机轮询”工作区功能来解决此错误。结果我的项目也在两个eclipse实例中打开。一旦我关闭了另一个实例,错误就消失了。因此,如果您看到此错误,请确保您的项目只在一个地方打开。