From 5332dd17a99a1179550f63638a8e78f91f4f6ed7 Mon Sep 17 00:00:00 2001 From: markt Date: Mon, 23 Aug 2010 19:37:25 +0000 Subject: [PATCH] Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49721 All JARs can be resource JARs. Although the spec defines no order, use ordered JARs in order then the remaining JARs in any order. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@988266 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/catalina/startup/ContextConfig.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/startup/ContextConfig.java b/java/org/apache/catalina/startup/ContextConfig.java index ad63834bc..c142da9c8 100644 --- a/java/org/apache/catalina/startup/ContextConfig.java +++ b/java/org/apache/catalina/startup/ContextConfig.java @@ -37,6 +37,7 @@ import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.Locale; import java.util.Map; import java.util.Properties; @@ -1269,7 +1270,18 @@ public class ContextConfig // Step 8. Look for static resources packaged in JARs if (ok) { - processResourceJARs(orderedFragments); + // Spec does not define an order. + // Use ordered JARs followed by remaining JARs + Set resourceJars = new LinkedHashSet(); + for (WebXml fragment : orderedFragments) { + resourceJars.add(fragment); + } + for (WebXml fragment : fragments.values()) { + if (!resourceJars.contains(fragment)) { + resourceJars.add(fragment); + } + } + processResourceJARs(resourceJars); } // Step 9. Apply the ServletContainerInitializer config to the -- 2.11.0