diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/servlet/server/StaticResourceJars.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/servlet/server/StaticResourceJars.java index 0bd18af36e3..a96fcce0e28 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/servlet/server/StaticResourceJars.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/servlet/server/StaticResourceJars.java @@ -25,6 +25,7 @@ import java.net.URISyntaxException; import java.net.URL; import java.net.URLClassLoader; import java.net.URLConnection; +import java.nio.file.InvalidPathException; import java.util.ArrayList; import java.util.List; import java.util.jar.JarFile; @@ -124,7 +125,7 @@ class StaticResourceJars { try { return isResourcesJar(new JarFile(file)); } - catch (IOException ex) { + catch (IOException | InvalidPathException ex) { return false; } } diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/StaticResourceJarsTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/StaticResourceJarsTests.java index b95731436e9..fd8b1dc3009 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/StaticResourceJarsTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/web/servlet/server/StaticResourceJarsTests.java @@ -77,6 +77,15 @@ class StaticResourceJarsTests { assertThat(staticResourceJarUrls).hasSize(1); } + @Test + void ignoreWildcardUrls() throws Exception { + File jarFile = createResourcesJar("test-resources.jar"); + URL folderUrl = jarFile.getParentFile().toURI().toURL(); + URL wildcardUrl = new URL(folderUrl.toString() + "*.jar"); + List staticResourceJarUrls = new StaticResourceJars().getUrlsFrom(wildcardUrl); + assertThat(staticResourceJarUrls).isEmpty(); + } + private File createResourcesJar(String name) throws IOException { return createJar(name, (output) -> { JarEntry jarEntry = new JarEntry("META-INF/resources");