You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/12/07 15:57:48 UTC
svn commit: r1418343 -
/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/EmbeddedJarScanner.java
Author: rmannibucau
Date: Fri Dec 7 14:57:47 2012
New Revision: 1418343
URL: http://svn.apache.org/viewvc?rev=1418343&view=rev
Log:
TOMEE-609 skipping web-inf/classes in jarscanner to keep the main webxml
Modified:
openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/EmbeddedJarScanner.java
Modified: openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/EmbeddedJarScanner.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/EmbeddedJarScanner.java?rev=1418343&r1=1418342&r2=1418343&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/EmbeddedJarScanner.java (original)
+++ openejb/trunk/openejb/tomee/tomee-loader/src/main/java/org/apache/tomee/loader/EmbeddedJarScanner.java Fri Dec 7 14:57:47 2012
@@ -19,6 +19,7 @@ package org.apache.tomee.loader;
import org.apache.juli.logging.Log;
import org.apache.juli.logging.LogFactory;
import org.apache.openejb.config.NewLoaderLogic;
+import org.apache.openejb.util.URLs;
import org.apache.tomcat.JarScanner;
import org.apache.tomcat.JarScannerCallback;
import org.apache.tomcat.util.res.StringManager;
@@ -69,6 +70,10 @@ public class EmbeddedJarScanner implemen
// scan = scan.exclude(".*/WEB-INF/lib/.*"); // doing it simply prevent ServletContainerInitializer to de discovered
for (URL url : scan) {
+ if (isWebInfClasses(url)) {
+ continue;
+ }
+
// Need to scan this JAR
if (log.isDebugEnabled()) {
log.debug(sm.getString("jarScan.webinflibJarScan", url.toExternalForm()));
@@ -85,6 +90,16 @@ public class EmbeddedJarScanner implemen
}
}
+ private static boolean isWebInfClasses(final URL url) {
+ final File file = URLs.toFile(url);
+ if (file == null || !file.exists() || ! "classes".equals(file.getName())) {
+ return false;
+ }
+
+ final File webInf = file.getParentFile();
+ return webInf != null && !(!webInf.exists() || !"WEB-INF".equals(webInf.getName()));
+ }
+
/*
* Scan a URL for JARs with the optional extensions to look at all files
* and all directories.