diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringApplication.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringApplication.java index c94427f052..1cbd342646 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringApplication.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/SpringApplication.java @@ -437,12 +437,10 @@ public class SpringApplication { initializers.stream().filter(AotApplicationContextInitializer.class::isInstance).toList()); if (aotInitializers.isEmpty()) { String initializerClassName = this.mainApplicationClass.getName() + "__ApplicationContextInitializer"; - if (!ClassUtils.isPresent(initializerClassName, getClassLoader())) { - throw new IllegalArgumentException( - "You are starting application with AOT mode but not AOT-processed," - + " please build your application with AOT first." - + " Or remove system property 'spring.aot.enabled=true' to run as regular mode."); - } + Assert.state(ClassUtils.isPresent(initializerClassName, getClassLoader()), + "You are starting the application with AOT mode enabled but AOT processing hasn't happened. " + + "Please build your application with enabled AOT processing first, " + + "or remove the system property 'spring.aot.enabled' to run the application in regular mode"); aotInitializers.add(AotApplicationContextInitializer.forInitializerClasses(initializerClassName)); } initializers.removeAll(aotInitializers); diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationTests.java index 99bee2e963..1fff2bf294 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/SpringApplicationTests.java @@ -1383,8 +1383,8 @@ class SpringApplicationTests { application.setMainApplicationClass(TestSpringApplication.class); System.setProperty(AotDetector.AOT_ENABLED, "true"); try { - assertThatIllegalArgumentException().isThrownBy(application::run) - .withMessageContaining(AotDetector.AOT_ENABLED); + assertThatIllegalStateException().isThrownBy(application::run) + .withMessageContaining("but AOT processing hasn't happened"); } finally { System.clearProperty(AotDetector.AOT_ENABLED);