Community
Participate
Working Groups
Described in bug 267794 c13. There is a problem with the CoreOuputLocationManager. It seems like it cannot handle elements from another project in a classpath container. Here is the stack trace: --------------------- ava.lang.IllegalArgumentException: Path must include project and resource name: /org.apache.xerces at org.eclipse.core.runtime.Assert.isLegal(Assert.java:64) at org.eclipse.core.internal.resources.Workspace.newResource(Workspace.java:1628) at org.eclipse.core.internal.resources.Container.getFolder(Container.java:137) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.pathToFile(CoreOutputLocationManager.java:630) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.handleClassPathEntry(CoreOutputLocationManager.java:591) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.mapProject(CoreOutputLocationManager.java:573) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.handleClassPathEntry(CoreOutputLocationManager.java:601) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.handleClassPathEntry(CoreOutputLocationManager.java:586) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.mapProject(CoreOutputLocationManager.java:573) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.handleClassPathEntry(CoreOutputLocationManager.java:601) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.mapProject(CoreOutputLocationManager.java:573) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.handleClassPathEntry(CoreOutputLocationManager.java:601) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.mapProject(CoreOutputLocationManager.java:573) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.initDeclaringProjectsMap(CoreOutputLocationManager.java:561) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.findDeclaringProject(CoreOutputLocationManager.java:533) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.discoverChangesSince(CoreOutputLocationManager.java:653) at org.aspectj.ajde.core.internal.OutputLocationAdapter.discoverChangesSince(OutputLocationAdapter.java:62) at org.aspectj.ajdt.internal.core.builder.AjState.classFileChangedInDirSinceLastBuildRequiringFullBuild(AjState.java:460) and a comment about it: -------------- xerces is a plug-in dependency. the xerces plugin is a updated copy of the org.apache.xerces plugin, bundled with eclipse, located in my workspace form the project, that contains the xerces reference (project1): the .classpath: <?xml version=?1.0?encoding=?UTF-8??> <classpath> <classpathentry kind="src" path="src"/> <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> <classpathentry kind="output" path="bin"/> </classpath> manifest.mf: Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Bundle-SymbolicName: com.project1; singleton:=true Bundle-Version: 3.0.0 Bundle-ClassPath: . Bundle-Vendor: Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, org.eclipse.core.resources, org.eclipse.ui, org.eclipse.gef, org.eclipse.ui.views, org.eclipse.ui.ide, org.apache.xerces;bundle-version=?[2.9.0,3.0.0)?, com.sun.jai;bundle-version="1.3.0" Bundle-ActivationPolicy: lazy Bundle-RequiredExecutionEnvironment: J2SE-1.5 classpath from the aspectj project: <?xml version=?1.0? encoding=?UTF-8??> <classpath> <classpathentry excluding="/server/aspectj/RuntimeTimeTracing.aj|/server/aspectj/RuntimeTracing.aj" kind="src" path="src"/> <classpathentry exported="true" kind="src" path="/project1"/> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/com.api"/> <classpathentry exported="true" kind="src" path="/com.server"> <attributes> <attribute name="org.eclipse.ajdt.aspectpath" value="org.eclipse.ajdt.aspectpath"/> </attributes> </classpathentry> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/com.support"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/com.context"/> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/com.internationalisation.generator"/> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/org.apache.commons-logging.libs"/> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/com.lookup"/> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/com.support.webapplication"/> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/com.auth"/> <classpathentry exported="true" kind="con" path="org.eclipse.ajdt.core.ASPECTJRT_CONTAINER"> <attributes> <attribute name="org.eclipse.jst.component.dependency" value=""/> </attributes> </classpathentry> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/com.eaio.uuid.libs"/> <classpathentry exported="true" kind="lib" path="lib/quartz-1.6.5.jar"> <attributes> <attribute name="org.eclipse.jst.component.dependency" value="../"/> </attributes> </classpathentry> <classpathentry exported="true" kind="lib" path="lib/commons-lang-2.4.jar"> <attributes> <attribute name="org.eclipse.jst.component.dependency" value="../"/> </attributes> </classpathentry> <classpathentry exported="true" kind="lib" path="lib/commons-collections-3.2.jar"> <attributes> <attribute name="org.eclipse.jst.component.dependency" value="../"/> </attributes> </classpathentry> <classpathentry combineaccessrules="false" exported="true" kind="src" path="/org.hibernate.annotations"/> <classpathentry kind="output" path="bin"/> </classpath>
I notice that in your .classpath file, all of your paths are designated as absolute. Is this because you are referencing these plugin projects directly? This is in and of itself is not the problem in AJDT, but it seems that if one of these projects uses the proiject root as a source folder, then that is where errors occur. I have made the change and it seems to be working. I just need to do a little more testing and I will commit.
OK...committed with regression tests will be available in next dev build.