277
votes

I develop Java code with Eclipse and regularly get this message:

resource is out of sync with the filesystem.

Right-click > Refresh will always clear this.

But why can't Eclipse refresh automatically when it finds this condition? Are there cases where you want the resource to be out of sync?.

If there are such conditions and they don't apply to my work, is there a way of getting Eclipse to refresh automatically when it encounters this state?. (I appreciate that it should refresh as little as it needs to in normal development to increase performance for human developers.)

UPDATE (2012-06-25): My latest update (Version: Indigo Release Build id: 20110615-0604) no longer shows Preferences - General - Workspace - Refresh Automatically There is an option "Refresh on access" - should I use this?

10
Why do you get the message? You might lose work if not careful.Thorbjørn Ravn Andersen
I get this message always when I search workspace, because the Servers project (in web tools) contains log files which keep updating outside eclipse. Until now I have not found any solution apart from Refresh Automatically, but that gives othe rproblems (specifically: when some Ant build runs, Eclipse will refresh half-way the Ant build and mess things up).Stijn de Witt
perhaps just right lick on the project then select "refresh"?Junchen Liu
Silly question: Why is "an extra copy" of a resource obligatory? Do everybody definitely need this with the accompanying chance of getting "out of sync".nsandersen
How can a file possibly be out of sync if I just opened eclipse and there is definitely no other process changing the file? Goddamnit, Eclipse!Niko O

10 Answers

328
votes

You can enable this in Window - Preferences - General - Workspace - Refresh Automatically (called Refresh using native hooks or polling in newer builds)

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

The only reason I can think why this isn't enabled by default is performance related.

For example, refreshing source folders automatically might trigger a build of the workspace. Perhaps some people want more control over this.

There is also an article on the Eclipse site regarding auto refresh.

Basically, there is no external trigger that notifies Eclipse of files changed outside the workspace. Rather a background thread is used by Eclipse to monitor file changes that can possibly lead to performance issues with large workspaces.

38
votes

Just right click on the file or on the project and click Refresh. The error will vanish. I also faced the same issue and it worked for me.

19
votes

enter image description hereWindow -> Preferences -> General -> Workspace

13
votes

For the new Indigo version, the Preferences change to "Refresh on access", and with a detail explanation : Automatically refresh external workspace changes on access via the workspace.

As “resource is out of sync with the filesystem” this problem happens when I use external workspace, so after I select this option, problem solved.

5
votes

This happens to me all the time.

Go to the error log, find the exception, and open a few levels until you can see something more like a root cause. Does it says "Resource is out of sync with the file system" ?

When renaming packages, of course, Eclipse has to move files around in the file system. Apparently what happens is that it later discovers that something it thinks it needs to clean up has been renamed, can't find it, throws an exception.

There are a couple of things you might try. First, go to Window: Preferences, Workspace, and enable "Refresh Automatically". In theory this should fix the problem, but for me, it didn't.

Second, if you are doing a large refactoring with subpackages, do the subpackages one at a time, from the bottom up, and explicitly refresh with the file system after each subpackage is renamed.

Third, just ignore the error: when the error dialog comes up, click Abort to preserve the partial change, instead of rolling it back. Try it again, and again, and you may find you can get through the entire operation using multiple retries.

1
votes

If this occurs trying to delete a folder (on *nix) and Refresh does not help, open a terminal and look for a symlink below the folder you are trying to delete and remove this manually. This solved my issues.

1
votes

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

Now you can close the workspace, reopen it in a view and refresh the project. You may also dissociate the project if you prefer the project not to be associated with the vob.

1
votes

A little hint. The message often appears during rename operation. The quick workaround for me is pressing Ctrl-Y (redo shortcut) after message confirmation. It works only if the renaming affects a single file.

1
votes

If you are a regular Eclipse user than you might have got this error many times. The error simply says, “you’ve made changes in files in your workspace from outside eclipse”. The simplest solution would be to select the project and press F5 (Right click -> Refresh).

if you need more explanation you can read from this web site

0
votes

I was not able to resolve this error by either refresh or by turning on "native polling" workspace feature. Turned out my project was also opened in two instances of eclipse. Once I closed the other instance, the error went away. So make sure your project is only opened at one place if you are seeing this error.