提问



我使用Eclipse开发Java代码并定期收到以下消息:



  资源与文件系统不同步。



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


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


如果有这样的条件而且它们不适用于我的工作,有没有办法让Eclipse在遇到这种状态时自动刷新?(我很欣赏它应该在正常开发中尽可能少地刷新以增加人类开发人员的表现。)


更新(2012-06-25):
我的最新更新(版本:Indigo Release Build id:20110615-0604)
不再显示
首选项 - 常规 - 工作区 - 自动刷新
有一个选项访问时刷新 - 我应该使用它吗?

最佳参考


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


[2]


我能想到为什么默认情况下不能启用的唯一原因是性能相关。


例如,自动刷新源文件夹可能会触发工作区的构建。也许有些人希望对此有更多的控制权。


Eclipse网站上还有一篇关于自动刷新的文章。[3]


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

其它参考1


只需右键单击该文件或项目,然后单击刷新。错误将消失。我也面临同样的问题,它对我有用。

其它参考2


窗口 - >首选项 - >常规 - >工作区

其它参考3


对于新的Indigo版本,首选项更改为访问时刷新,并提供详细说明:通过工作区自动刷新外部工作区更改。


由于资源与文件系统不同步,当我使用外部工作区时会出现此问题,因此在选择此选项后,问题就解决了。

其它参考4


这种情况一直发生在我身上。


转到错误日志,找到异常,然后打开几个级别,直到您看到更像是根本原因的内容。它是否说资源与文件系统不同步?


当重命名包时,Eclipse当然必须在文件系统中移动文件。显而易见的是,它后来发现它认为需要清理的东西已被重命名,无法找到它,抛出异常。


你可能会尝试一些事情。首先,转到Window:Preferences,Workspace,然后启用自动刷新。理论上这应该解决问题,但对我来说,它并没有。


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


第三,只需忽略错误:当出现错误对话框时,单击Abort以保留部分更改,而不是将其回滚。再试一遍,你可能会发现你可以使用多次重试来完成整个操作。

其它参考5


如果尝试删除文件夹(在* nix上)并且刷新无效,则打开终端并在您尝试删除的文件夹下面查找符号链接并手动删除。这解决了我的问题。

其它参考6


当您从clearcase视图中打开Eclipse工作区并尝试重命名项目时,您将经常收到弹出警告...资源'项目'与文件系统不同步。如果刷新项目无法解决问题,请执行以下解决方法:a。打开工作区而不在视图中b。在Project Explorer c中选择项目。 ClearCase - > Associate Project(项目现在看起来应该像project [[]])d。右键单击项目 - >刷新(vob子文件夹现在应为空)e。右键单击项目 - >重命名... f。输入新名称


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

其它参考7


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

其它参考8


如果您是常规Eclipse用户,那么您可能会多次遇到此错误。这个错误简单地说,你已经在eclipse之外的工作区中对文件进行了更改。最简单的解决方案是选择项目并按F5(右键单击 - >刷新)。


如果您需要更多解释,可以从本网站阅读[4]

其它参考9


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