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

资源与文件系统不同步。

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

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

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

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


当前回答

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

其他回答

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

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

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

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

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

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

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

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

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

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