You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by cj...@apache.org on 2011/03/01 13:53:34 UTC

svn commit: r1075797 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/Classpath.java

Author: cjhoward
Date: Tue Mar  1 12:53:34 2011
New Revision: 1075797

URL: http://svn.apache.org/viewvc?rev=1075797&view=rev
Log:
Some classloaders may report META-INF/ exists when it does not, so ignore such a case.

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/Classpath.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/Classpath.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/Classpath.java?rev=1075797&r1=1075796&r2=1075797&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/Classpath.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/view/facelets/util/Classpath.java Tue Mar  1 12:53:34 2011
@@ -76,10 +76,21 @@ public final class Classpath
             conn.setUseCaches(false);
             conn.setDefaultUseCaches(false);
 
-            JarFile jar;
+            JarFile jar = null;
             if (conn instanceof JarURLConnection)
             {
-                jar = ((JarURLConnection) conn).getJarFile();
+            	try {
+            		jar = ((JarURLConnection) conn).getJarFile();
+            	}
+            	
+            	catch (Throwable e) {
+            		// This can happen if the classloader provided us a URL that it thinks exists
+            		// but really doesn't.  In particular, if a JAR contains META-INF/MANIFEST.MF
+            		// but not META-INF/, some classloaders may incorrectly report that META-INF/
+            		// exists and we'll end up here.  Just ignore this case.
+            		
+            		continue;
+            	}
             }
             else
             {