Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 329190 - CoreOutputLocationManager.java:390
Summary: CoreOutputLocationManager.java:390
Status: RESOLVED FIXED
Alias: None
Product: AJDT
Classification: Tools
Component: Core (show other bugs)
Version: 2.1.1   Edit
Hardware: PC Windows 7
: P3 major (vote)
Target Milestone: 2.1.2   Edit
Assignee: AJDT-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-01 09:39 EDT by felix.ziesel CLA
Modified: 2010-11-02 14:50 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description felix.ziesel CLA 2010-11-01 09:39:08 EDT
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)
Comment 1 Andrew Eisenberg CLA 2010-11-01 13:44:24 EDT
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.
Comment 2 Andrew Eisenberg CLA 2010-11-02 14:50:33 EDT
Fixed with regression tests.  Will be available in next dev build.