Make additional check to prevent trying to load the Deployment descriptor when the project is out of sync.
diff --git a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/JEE5ContentProvider.java b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/JEE5ContentProvider.java index 138335e..e644366 100644 --- a/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/JEE5ContentProvider.java +++ b/plugins/org.eclipse.jst.jee.ui/src/org/eclipse/jst/jee/ui/internal/navigator/JEE5ContentProvider.java
@@ -83,7 +83,7 @@ protected AbstractGroupProvider getCachedContentProvider(IProject project) { AbstractGroupProvider provider = groupContentProviders.get(project); if (provider == null){ - if (project == null || !project.isAccessible()){ + if (project == null || !project.isAccessible() || !project.isSynchronized(IResource.DEPTH_INFINITE)){ return null; } // if the project is no longer a valid flexible project (due to deletion of critical files)