From 306b964ce39ddf031b61b89e7e71621fa8f022f7 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Mon, 21 Dec 2020 09:59:01 +0100 Subject: [PATCH 1/2] Fix multi-release JAR test on JDK 16 See gh-24453 --- .../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 e354f2d3e1..ae8faebdf0 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 @@ public abstract class TestJarCreator { 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 f9fbadb8d9aa27748fa4b62cbc98a8b15c833d76 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-24453 --- .../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 18a0d358c5..1592c6b0ac 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.Arrays; 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 539ad9b410..f464ecce1b 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 @@ class JavaVersionTests { assertThat(JavaVersion.getJavaVersion()).isEqualTo(JavaVersion.FIFTEEN); } + @Test + @EnabledOnJre(JRE.JAVA_16) + void currentJavaVersionSixteen() { + assertThat(JavaVersion.getJavaVersion()).isEqualTo(JavaVersion.SIXTEEN); + } + }