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 1592c6b0accb..17a635d17eb1 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 @@ -1,5 +1,5 @@ /* - * Copyright 2012-2020 the original author or authors. + * Copyright 2012-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,6 +16,7 @@ package org.springframework.boot.system; +import java.io.Console; import java.lang.invoke.MethodHandles; import java.util.Arrays; import java.util.Collections; @@ -77,7 +78,12 @@ public enum JavaVersion { /** * Java 16. */ - SIXTEEN("16", Stream.class, "toList"); + SIXTEEN("16", Stream.class, "toList"), + + /** + * Java 17. + */ + SEVENTEEN("17", Console.class, "charset"); 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 f464ecce1b76..c8860f9cf7c4 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 @@ -133,4 +133,10 @@ void currentJavaVersionSixteen() { assertThat(JavaVersion.getJavaVersion()).isEqualTo(JavaVersion.SIXTEEN); } + @Test + @EnabledOnJre(JRE.JAVA_17) + void currentJavaVersionSeventeen() { + assertThat(JavaVersion.getJavaVersion()).isEqualTo(JavaVersion.SEVENTEEN); + } + }