diff --git a/spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java b/spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java index dfef714392e..0b45256ea3f 100644 --- a/spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java +++ b/spring-core/src/main/java/org/springframework/core/io/support/PathMatchingResourcePatternResolver.java @@ -41,7 +41,6 @@ import java.nio.file.Path; import java.util.Collections; import java.util.Enumeration; import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Map; import java.util.NavigableSet; @@ -937,14 +936,10 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol } Set result = new LinkedHashSet<>(64); NavigableSet entriesCache = new TreeSet<>(); - Iterator entryIterator = jarFile.stream().map(JarEntry::getName).sorted().iterator(); - while (entryIterator.hasNext()) { - String entryPath = entryIterator.next(); - int entrySeparatorIndex = entryPath.indexOf(ResourceUtils.JAR_URL_SEPARATOR); - if (entrySeparatorIndex >= 0) { - entryPath = entryPath.substring(entrySeparatorIndex + ResourceUtils.JAR_URL_SEPARATOR.length()); - } - entriesCache.add(entryPath); + for (Enumeration entries = jarFile.entries(); entries.hasMoreElements();) { + entriesCache.add(entries.nextElement().getName()); + } + for (String entryPath : entriesCache) { if (entryPath.startsWith(rootEntryPath)) { String relativePath = entryPath.substring(rootEntryPath.length()); if (getPathMatcher().match(subPattern, relativePath)) {