### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/internal/core/JavaProject.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaProject.java,v retrieving revision 1.370 diff -u -r1.370 JavaProject.java --- model/org/eclipse/jdt/internal/core/JavaProject.java 2 May 2006 15:01:33 -0000 1.370 +++ model/org/eclipse/jdt/internal/core/JavaProject.java 1 Dec 2006 06:50:06 -0000 @@ -2740,6 +2740,15 @@ } /** + * Clear all classpath markers and check the classpath again. + * Add markers for any problems that still remain. + */ + public void recomputeClasspathProblemMarkers() { + flushClasspathProblemMarkers(true, true); + updateClasspathMarkers(null, null); + } + + /** * Removes the given builder from the build spec for the given project. */ protected void removeFromBuildSpec(String builderID) throws CoreException { Index: model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java,v retrieving revision 1.122 diff -u -r1.122 JavaBuilder.java --- model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java 6 Apr 2006 19:15:52 -0000 1.122 +++ model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java 1 Dec 2006 06:50:06 -0000 @@ -600,6 +600,10 @@ // Abort build only if there are classpath errors if (isClasspathBroken(javaProject.getRawClasspath(), currentProject)) { + // second chance - compilation participants might have fixed a problem during initializeBuilder() + javaProject.recomputeClasspathProblemMarkers(); + } + if (isClasspathBroken(javaProject.getRawClasspath(), currentProject)) { if (DEBUG) System.out.println("Aborted build because project has classpath errors (incomplete or involved in cycle)"); //$NON-NLS-1$