避免“资源与文件系统不同步”

时间:2010-12-03 08:34:35

标签: eclipse

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

  

资源与文件系统不同步。

右键单击>刷新将始终清除这一点。

但是为什么Eclipse在找到这种情况时不能自动刷新?您是否希望资源不同步?

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

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

10 个答案:

答案 0 :(得分:319)

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

Eclipse Preferences "Refresh using native hooks or polling" - Screenshot

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

例如,自动刷新源文件夹可能会触发工作区的构建。也许有些人希望能够更好地控制这一点。

还有一个关于自动刷新的article on the Eclipse site

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

答案 1 :(得分:37)

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

答案 2 :(得分:20)

enter image description here窗口 - >偏好 - >一般 - >工作区

答案 3 :(得分:12)

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

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

答案 4 :(得分:5)

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

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

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

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

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

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

答案 5 :(得分:1)

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

答案 6 :(得分:1)

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

答案 7 :(得分:1)

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

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

答案 8 :(得分:1)

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

如果您需要更多解释,可以阅读web site

答案 9 :(得分:0)

我无法通过刷新或打开“本机轮询”工作区功能来解决此错误。原来我的项目也在两个Eclipse中打开过。一旦我关闭了另一个实例,错误就消失了。因此,请确保仅在看到此错误的情况下才在一个位置打开项目。