From 20e171e5712e026c6787f2990e1980a85470fab1 Mon Sep 17 00:00:00 2001 From: dreis2211 Date: Thu, 10 Dec 2020 21:16:42 +0100 Subject: [PATCH 1/2] Fix multi-release JAR test on JDK 16 See gh-24402 --- .../java/org/springframework/boot/loader/TestJarCreator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/TestJarCreator.java b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/TestJarCreator.java index e354f2d3e1c3..ae8faebdf003 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/TestJarCreator.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-loader/src/test/java/org/springframework/boot/loader/TestJarCreator.java @@ -98,6 +98,7 @@ private static byte[] getNestedJarData(boolean multiRelease) throws Exception { writeEntry(jarOutputStream, "META-INF/versions/13/multi-release.dat", 13); writeEntry(jarOutputStream, "META-INF/versions/14/multi-release.dat", 14); writeEntry(jarOutputStream, "META-INF/versions/15/multi-release.dat", 15); + writeEntry(jarOutputStream, "META-INF/versions/16/multi-release.dat", 16); } else { writeEntry(jarOutputStream, "3.dat", 3); From 7c4edeaa57aa2ea6ca3084eeb4574e272f009a59 Mon Sep 17 00:00:00 2001 From: dreis2211 Date: Thu, 10 Dec 2020 21:17:15 +0100 Subject: [PATCH 2/2] Add JavaVersion entry for JDK 16 See gh-24402 --- .../java/org/springframework/boot/system/JavaVersion.java | 8 +++++++- .../org/springframework/boot/system/JavaVersionTests.java | 6 ++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/system/JavaVersion.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/system/JavaVersion.java index 18a0d358c5c7..1592c6b0accb 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/system/JavaVersion.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/system/JavaVersion.java @@ -21,6 +21,7 @@ import java.util.Collections; import java.util.List; import java.util.Optional; +import java.util.stream.Stream; import org.springframework.util.ClassUtils; @@ -71,7 +72,12 @@ public enum JavaVersion { /** * Java 15. */ - FIFTEEN("15", CharSequence.class, "isEmpty"); + FIFTEEN("15", CharSequence.class, "isEmpty"), + + /** + * Java 16. + */ + SIXTEEN("16", Stream.class, "toList"); private final String name; diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/system/JavaVersionTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/system/JavaVersionTests.java index 539ad9b41034..f464ecce1b76 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/system/JavaVersionTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/system/JavaVersionTests.java @@ -127,4 +127,10 @@ void currentJavaVersionFifteen() { assertThat(JavaVersion.getJavaVersion()).isEqualTo(JavaVersion.FIFTEEN); } + @Test + @EnabledOnJre(JRE.JAVA_16) + void currentJavaVersionSixteen() { + assertThat(JavaVersion.getJavaVersion()).isEqualTo(JavaVersion.SIXTEEN); + } + }