Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 363221

Summary: Failure to create a WAR file with project containing virtual folders
Product: [WebTools] WTP Java EE Tools Reporter: Missing name Missing name <grafalgar>
Component: jst.j2eeAssignee: Galileo Perez <galileo>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: grafalgar, shr31223, thatnitind
Version: 3.3.1   
Target Milestone: 3.5   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Attachments:
Description Flags
Patch to verify the folder has physical location shr31223: iplog+

Description Missing name Missing name CLA 2011-11-08 15:03:35 EST
Build Identifier: 20110916-0149

I'm trying to create a WAR file from a web project that contains virtual folders.  Upon export, an exception is thrown and displayed.  Callstack is as follows:

org.eclipse.core.commands.ExecutionException: Error exportingC:/Users/LTullues/DEV/tmp/origin3.war
	at org.eclipse.jst.j2ee.internal.archive.operations.ComponentExportOperation.execute(ComponentExportOperation.java:136)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl$1.run(DataModelPausibleOperationImpl.java:385)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.runOperation(DataModelPausibleOperationImpl.java:410)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.runOperation(DataModelPausibleOperationImpl.java:360)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.doExecute(DataModelPausibleOperationImpl.java:247)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.executeImpl(DataModelPausibleOperationImpl.java:219)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.cacheThreadAndContinue(DataModelPausibleOperationImpl.java:89)
	at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.execute(DataModelPausibleOperationImpl.java:207)
	at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizard$1CatchThrowableRunnableWithProgress.run(DataModelWizard.java:225)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: org.eclipse.jst.jee.archive.ArchiveSaveFailureException: java.lang.NullPointerException
	at org.eclipse.jst.j2ee.internal.archive.operations.FlatComponentArchiver.saveArchive(FlatComponentArchiver.java:117)
	at org.eclipse.jst.j2ee.internal.archive.operations.ComponentExportOperation.export(ComponentExportOperation.java:178)
	at org.eclipse.jst.j2ee.internal.archive.operations.ComponentExportOperation.execute(ComponentExportOperation.java:134)
	... 10 more
Caused by: java.lang.NullPointerException
	at org.eclipse.wst.common.componentcore.internal.flat.FlatFolder.getAdapter(FlatFolder.java:103)
	at org.eclipse.jst.j2ee.internal.archive.operations.FlatComponentArchiver.addZipEntry(FlatComponentArchiver.java:225)
	at org.eclipse.jst.j2ee.internal.archive.operations.FlatComponentArchiver.saveFlatResources(FlatComponentArchiver.java:154)
	at org.eclipse.jst.j2ee.internal.archive.operations.FlatComponentArchiver.saveFlatResources(FlatComponentArchiver.java:156)
	at org.eclipse.jst.j2ee.internal.archive.operations.FlatComponentArchiver.saveArchive(FlatComponentArchiver.java:106)
	... 12 more


Reproducible: Always

Steps to Reproduce:
1.  Create a dynamic web project
2.  Create a subfolder in the web project
3.  Right-click on subfolder, select Import, General->File System
4.  Select some directory, and click on "Advanced"
5.  Check "Create links in workspace"
6.  Check "Create virtual folders"
7.  Hit "Finish"
8.  Right-click on project, Export, WAR File
9.  Select destination, hit "Finish"
10. --->  The aforementioned exception is thrown.
Comment 1 Missing name Missing name CLA 2011-11-08 15:04:35 EST
Note, if "Create virtual folders" is not checked, the WAR file exports without issue.
Comment 2 Galileo Perez CLA 2013-03-13 11:39:51 EDT
Created attachment 228359 [details]
Patch to verify the folder has physical location

This patch verifies the existent folder has a location in the workspace since it's possible to have virtual folders, this will have no physical location in the workspace but will be created when exporting to and ear file