diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/zip/ZipContent.java b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/zip/ZipContent.java index f63a17b9e859..ca0f3d7a713b 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/zip/ZipContent.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/zip/ZipContent.java @@ -637,10 +637,7 @@ private static ZipContent loadNestedDirectory(Source source, ZipContent zip, Ent .load(zip.data, pos); long namePos = pos + ZipCentralDirectoryFileHeaderRecord.FILE_NAME_OFFSET; short nameLen = centralRecord.fileNameLength(); - if (ZipString.startsWith(loader.buffer, zip.data, namePos, nameLen, META_INF) != -1) { - loader.add(centralRecord, pos, false); - } - else if (ZipString.startsWith(loader.buffer, zip.data, namePos, nameLen, directoryName) != -1) { + if (ZipString.startsWith(loader.buffer, zip.data, namePos, nameLen, directoryName) != -1) { loader.add(centralRecord, pos, true); } } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/NestedJarFileTests.java b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/NestedJarFileTests.java index 8050866078df..5c2aed4d5c4e 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/NestedJarFileTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/jar/NestedJarFileTests.java @@ -105,9 +105,8 @@ void createWhenNestedJarFileOpensJar() throws IOException { void createWhenNestedJarDirectoryOpensJar() throws IOException { try (NestedJarFile jar = new NestedJarFile(this.file, "d/")) { assertThat(jar.getName()).isEqualTo(this.file.getAbsolutePath() + "!/d/"); - assertThat(jar.size()).isEqualTo(3); - assertThat(jar.stream().map(JarEntry::getName)).containsExactly("META-INF/", "META-INF/MANIFEST.MF", - "9.dat"); + assertThat(jar.size()).isEqualTo(1); + assertThat(jar.stream().map(JarEntry::getName)).containsExactly("9.dat"); } } diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/zip/ZipContentTests.java b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/zip/ZipContentTests.java index 5ae7fe82f255..8681c430d6ce 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/zip/ZipContentTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/zip/ZipContentTests.java @@ -210,11 +210,9 @@ void nestedJarFileWhenNameEndsInSlashThrowsException() { @Test void nestedDirectoryReturnsNestedJar() throws IOException { try (ZipContent nested = ZipContent.open(this.file.toPath(), "d/")) { - assertThat(nested.size()).isEqualTo(3); + assertThat(nested.size()).isEqualTo(1); assertThat(nested.getEntry("9.dat")).isNotNull(); - assertThat(nested.getEntry(0).getName()).isEqualTo("META-INF/"); - assertThat(nested.getEntry(1).getName()).isEqualTo("META-INF/MANIFEST.MF"); - assertThat(nested.getEntry(2).getName()).isEqualTo("9.dat"); + assertThat(nested.getEntry(0).getName()).isEqualTo("9.dat"); } } @@ -230,9 +228,8 @@ void getDataWhenNestedDirectoryReturnsVirtualZipDataBlock() throws IOException { File file = new File(this.tempDir, "included.zip"); write(file, nested.openRawZipData()); try (ZipFile loadedZipFile = new ZipFile(file)) { - assertThat(loadedZipFile.size()).isEqualTo(3); - assertThat(loadedZipFile.stream().map(ZipEntry::getName)).containsExactly("META-INF/", - "META-INF/MANIFEST.MF", "9.dat"); + assertThat(loadedZipFile.size()).isEqualTo(1); + assertThat(loadedZipFile.stream().map(ZipEntry::getName)).containsExactly("9.dat"); assertThat(loadedZipFile.getEntry("9.dat")).isNotNull(); try (InputStream in = loadedZipFile.getInputStream(loadedZipFile.getEntry("9.dat"))) { ByteArrayOutputStream out = new ByteArrayOutputStream();