[102332] JS WAR export exceptions when containing web lib projects with root as source.
diff --git a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentLoadStrategyImpl.java b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentLoadStrategyImpl.java
index a398b43..495cdbb 100644
--- a/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentLoadStrategyImpl.java
+++ b/plugins/org.eclipse.jst.j2ee/archiveops/org/eclipse/jst/j2ee/internal/archive/operations/ComponentLoadStrategyImpl.java
@@ -92,13 +92,10 @@
 					outputFolders[i] = ResourcesPlugin.getWorkspace().getRoot().getFolder(outputPath);
 	
 					IPath sourcePath = roots[i].getPath();
-					
-					if( sourcePath.segmentCount() > 1 )
-						source = workspaceRoot.getFolder(sourcePath);
-					else
-						source = getComponent().getProject();
+					boolean sourceIsProject = sourcePath.segmentCount() <= 1;  
+					source = sourceIsProject ? (IResource)getComponent().getProject(): workspaceRoot.getFolder(sourcePath); 
 					IVirtualResource[] virtualSources = ComponentCore.createResources(source);
-					IResource actualResource = virtualSources[0].getUnderlyingResource();
+					IResource actualResource = sourceIsProject ? source : virtualSources[0].getUnderlyingResource();
 					int sourceOffset = actualResource.getProjectRelativePath().segmentCount() - sourcePath.segmentCount();
 					int runtimeOffset = outputPath.segmentCount() - virtualSources[0].getRuntimePath().segmentCount();