Clean root entry path to match jar entries format in cache

Closes gh-34348
This commit is contained in:
Juergen Hoeller 2025-01-31 22:26:14 +01:00
parent 323e52b5a9
commit 2df8ea94e0
1 changed files with 2 additions and 0 deletions

View File

@ -813,6 +813,8 @@ public class PathMatchingResourcePatternResolver implements ResourcePatternResol
NavigableSet<String> entriesCache = this.jarEntriesCache.get(jarFileUrl);
if (entriesCache != null) {
Set<Resource> result = new LinkedHashSet<>(64);
// Clean root entry path to match jar entries format without "!" separators
rootEntryPath = rootEntryPath.replace(ResourceUtils.JAR_URL_SEPARATOR, "/");
// Search sorted entries from first entry with rootEntryPath prefix
for (String entryPath : entriesCache.tailSet(rootEntryPath, false)) {
if (!entryPath.startsWith(rootEntryPath)) {