Community
Participate
Working Groups
Build 20030307 (aka RC2) 1. Download RC2 and unzip at D:/ 2. Download the latest GEF and unzip at D:/GEF/eclipse 3. In the RC2 install tree, create a 'links' directory (D:/eclipse/links) and under it create a file called 'org.eclipse.gef.link' Contents of the file should be: path=D:/GEF 4. Launch RC2 on a fresh workspace. 5. Switch to Java perspective. 7. Import org.eclipse.gef and org.eclipse.ui.workbench with source. 8. Fix the org.eclipse.gef buildpath manually by explicitly making the folder 'src-gef' a source folder. This is a PDE bug that we will address for RC3. 9. Observe the classpath of the org.eclipse.gef project. One entry's path contains the variable ECLIPSE_HOME_ORG_ECLIPSE_GEF_LINK, and all the other ones contain ECLIPSE_HOME. 10. Close the workbench. 11. Restart the workbench and you will see the error "Unbound classpath variable: 'ECLIPSE_HOME_ORG_ECLIPSE_GEF_LINK/org.eclipse.draw2d_2.1.0/runtime/dr aw2d.jar' in the Tasks view.
'ECLIPSE_HOME_ORG_ECLIPSE_GEF_LINK' not having an initializer is causing grief. The first time we try to resolve the classpath, no value is found for this variable, so we create a marker. This marker is never removed after the value for this variable has been set.
Forcing the validation in JavaCore.updateVariableValues(...) fixes the problem. I'm not sure what the consequences are on performance. Index: JavaCore.java =================================================================== RCS file: /data/cvs/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore .java,v retrieving revision 1.241 diff -u -r1.241 JavaCore.java --- JavaCore.java 5 Mar 2003 17:46:13 -0000 1.241 +++ JavaCore.java 10 Mar 2003 12:52:54 -0000 @@ -3177,7 +3177,7 @@ null, // don't call beginTask on the monitor (see http://bugs.eclipse.org/bugs/show_bug.cgi?id=3717) !ResourcesPlugin.getWorkspace().isTreeLocked(), // can change resources (IClasspathEntry[]) affectedProjects.get(project), - false, // updating - no validation + true, // updating - validate in case a marker was previously created for this variable false); // updating - no need to save } }
It is actually the same as bug 35155, and fix there is more general. *** This bug has been marked as a duplicate of 35155 ***