Community
Participate
Working Groups
When using <Select-Project-Context-Menu>->Properties->AspectJ Build->Inpath->Add Library->Plugin Dependencies and adding an non-default output folder at the bottom. Than pressing OK. I get the following Exception in the dialog: java.lang.NullPointerException at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.workspacePathToFile(CoreOutputLocationManager.java:390) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.init(CoreOutputLocationManager.java:220) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.<init>(CoreOutputLocationManager.java:160) at org.eclipse.ajdt.internal.core.ajde.CoreCompilerConfiguration.getOutputL ... oBuildJob.run(AutoBuildJob.java:242) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Compile error: NullPointerException thrown: null The log in the workspace shows me: !ENTRY org.eclipse.ajdt.ui 4 0 2010-11-01 14:34:15.155 !MESSAGE Compile error: NullPointerException thrown: null !STACK 0 java.lang.NullPointerException at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.workspacePathToFile(CoreOutputLocationManager.java:390) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.init(CoreOutputLocationManager.java:220) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.<init>(CoreOutputLocationManager.java:160) at org.eclipse.ajdt.internal.core.ajde.CoreCompilerConfiguration.getOutputLocationManager(CoreCompilerConfiguration.java:177) at org.aspectj.ajde.core.internal.AjdeCoreBuildManager.generateAjBuildConfig(AjdeCoreBuildManager.java:281) at org.aspectj.ajde.core.internal.AjdeCoreBuildManager.performBuild(AjdeCoreBuildManager.java:116) at org.aspectj.ajde.core.AjCompiler.build(AjCompiler.java:88) at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:245) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) !ENTRY org.eclipse.core.resources 4 2 2010-11-01 14:34:15.178 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources". !STACK 0 java.lang.NullPointerException at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.workspacePathToFile(CoreOutputLocationManager.java:390) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.init(CoreOutputLocationManager.java:220) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.<init>(CoreOutputLocationManager.java:160) at org.eclipse.ajdt.internal.core.ajde.CoreCompilerConfiguration.getOutputLocationManager(CoreCompilerConfiguration.java:177) at org.eclipse.ajdt.internal.core.ajde.CoreCompilerConfiguration.getChangedFiles(CoreCompilerConfiguration.java:674) at org.eclipse.ajdt.internal.builder.UIBuildListener.postAJBuild(UIBuildListener.java:224) at org.eclipse.ajdt.core.builder.AJBuilder.postCallListeners(AJBuilder.java:1352) at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:258) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) !ENTRY org.eclipse.core.resources 4 75 2010-11-01 14:34:15.238 !MESSAGE Errors occurred during the build. !SUBENTRY 1 org.eclipse.ajdt.core 4 75 2010-11-01 14:34:15.238 !MESSAGE Errors running builder 'AspectJ Builder' on project 'com.atego.prototype.windowTester'. !STACK 0 java.lang.NullPointerException at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.workspacePathToFile(CoreOutputLocationManager.java:390) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.init(CoreOutputLocationManager.java:220) at org.eclipse.ajdt.internal.core.ajde.CoreOutputLocationManager.<init>(CoreOutputLocationManager.java:160) at org.eclipse.ajdt.internal.core.ajde.CoreCompilerConfiguration.getOutputLocationManager(CoreCompilerConfiguration.java:177) at org.eclipse.ajdt.internal.core.ajde.CoreCompilerConfiguration.getChangedFiles(CoreCompilerConfiguration.java:674) at org.eclipse.ajdt.internal.builder.UIBuildListener.postAJBuild(UIBuildListener.java:224) at org.eclipse.ajdt.core.builder.AJBuilder.postCallListeners(AJBuilder.java:1352) at org.eclipse.ajdt.core.builder.AJBuilder.build(AJBuilder.java:258) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:203) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:255) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:258) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:311) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:343) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:144) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:242) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
The problem here is that AJDT is mistakenly assuming that there is a one-to-one mapping between jars/folders coming in on the in path and the classpath entry that they correspond to. When working with classpath containers and other projects coming in on the in path, we need to resolve their classpaths and add each one to the mapping.
Fixed with regression tests. Will be available in next dev build.