Community
Participate
Working Groups
The following exception is generated during WAR file build if .wtpmodules file on the WAR contains <dependent-module> for project(s) that does not exist. This exception prevents building of existing dependent modules and the WAR does not start successfully. I guess there are two issues here. First, the code should tolerate references to missing dependent modules. Second, there should be a way to see such modules in the UI and be able to corrent them (similar to how JDT handles missing .classpath elements). java.lang.NullPointerException at org.eclipse.wst.common.componentcore.internal.StructureEdit.getOutputContainerRoot(StructureEdit.java:287) at org.eclipse.wst.common.componentcore.internal.builder.ReferencedComponentBuilderOperation.getAbsoluteInputContainer(ReferencedComponentBuilderOperation.java:292) at org.eclipse.wst.common.componentcore.internal.builder.ReferencedComponentBuilderOperation.execute(ReferencedComponentBuilderOperation.java:97) at org.eclipse.wst.common.frameworks.internal.datamodel.ExtendableOperationImpl.doExecute(ExtendableOperationImpl.java:129) at org.eclipse.wst.common.frameworks.internal.datamodel.ExtendableOperationImpl$1.run(ExtendableOperationImpl.java:109) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1719) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1739) at org.eclipse.wst.common.frameworks.internal.datamodel.ExtendableOperationImpl.execute(ExtendableOperationImpl.java:115) at org.eclipse.wst.common.componentcore.internal.builder.ComponentStructuralBuilderDependencyResolver.build(ComponentStructuralBuilderDependencyResolver.java:57) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:593) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:783) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:168) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:202) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:231) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:783) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:234) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:253) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:282) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:139) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:200) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:76)
The first part of this is fixed. The second part we currently handle through validation messages. We may be able to investigate later to add the missing module dependencies to the project explorer.
Created attachment 39596 [details] [screenshot] missing build path entry Attached is a screenshot of how JDT shows missing required dependencies. Note that projectA is annotated with yellow exclamation sign and that there is a warning message at the top of the dialog. From usability standpoint, "J2EE module dependencies" is the place where user add/remove dependent projects and this is where the user should be able to see all problems.