Temp. Patch:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=159971
diff --git a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java
index 3a4348f..6b6e74f 100644
--- a/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java
+++ b/jsf/plugins/org.eclipse.jst.jsf.core/src/org/eclipse/jst/jsf/core/internal/jsflibraryregistry/impl/ArchiveFileImpl.java
@@ -18,10 +18,12 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URL;
+import java.util.Collections;
 
 import org.eclipse.core.resources.IWorkspace;
 import org.eclipse.core.resources.IWorkspaceRoot;
 import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Path;
@@ -441,6 +443,12 @@
 				try {
 					Path srcPath = new Path(sourceLocation);
 					URL fileURL = Platform.find(bundle, srcPath);
+					if (fileURL == null) {
+						String bundleName = srcPath.segments()[0];
+						bundle = Platform.getBundle(bundleName);
+						fileURL = FileLocator.find(bundle, srcPath
+								.removeFirstSegments(1), Collections.EMPTY_MAP);
+					}
 					URL url = Platform.resolve(fileURL);
 					resolvedSourceLocation = url.getPath();
 				} catch (IOException e) {