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

pet*_*ust 265 eclipse

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

资源与文件系统不同步.

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

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

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

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

dde*_*ele 320

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

Eclipse首选项

我能想到为什么默认情况下没有启用它的唯一原因是性能相关.

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

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

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

  • 它现在似乎被称为"使用本机挂钩或轮询刷新"(Indigo SR1). (14认同)

小智 37

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

  • OP提到在他的问题中,"'刷新'将永远清除这一点." 问题是,在处理复杂项目或与Eclipse外部正在更改文件系统的工具结合使用时,这非常令人讨厌. (20认同)

hit*_*141 20

在此输入图像描述窗口 - >首选项 - >常规 - >工作区

  • 重写上面的答案是什么意思? (2认同)

zhi*_*ong 12

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

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


小智 5

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

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

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

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

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

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