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 d6c2a43f1e..feda02e009 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-2022 the original author or authors. + * Copyright 2012-2023 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. @@ -30,6 +30,7 @@ import org.springframework.util.ClassUtils; * * @author Oliver Gierke * @author Phillip Webb + * @author Moritz Halbritter * @since 2.0.0 */ public enum JavaVersion { @@ -47,7 +48,12 @@ public enum JavaVersion { /** * Java 19. */ - NINETEEN("19", Future.class, "state"); + NINETEEN("19", Future.class, "state"), + + /** + * Java 20. + */ + TWENTY("20", Class.class, "accessFlags"); 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 8f988b849a..0b0787b9fe 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 @@ -97,4 +97,10 @@ class JavaVersionTests { assertThat(JavaVersion.getJavaVersion()).isEqualTo(JavaVersion.NINETEEN); } + @Test + @EnabledOnJre(JRE.JAVA_20) + void currentJavaVersionTwenty() { + assertThat(JavaVersion.getJavaVersion()).isEqualTo(JavaVersion.TWENTY); + } + }