diff --git a/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java b/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java index 6ae6db83bb5..f2659e6d2f2 100644 --- a/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java +++ b/spring-boot-tools/spring-boot-configuration-processor/src/main/java/org/springframework/boot/configurationprocessor/ConfigurationMetadataAnnotationProcessor.java @@ -118,9 +118,12 @@ public class ConfigurationMetadataAnnotationProcessor extends AbstractProcessor RoundEnvironment roundEnv) { this.metadataCollector.processing(roundEnv); Elements elementUtils = this.processingEnv.getElementUtils(); - for (Element element : roundEnv.getElementsAnnotatedWith(elementUtils - .getTypeElement(configurationPropertiesAnnotation()))) { - processElement(element); + TypeElement annotationType = elementUtils + .getTypeElement(configurationPropertiesAnnotation()); + if (annotationType != null) { // Is @ConfigurationProperties available + for (Element element : roundEnv.getElementsAnnotatedWith(annotationType)) { + processElement(element); + } } if (roundEnv.processingOver()) { writeMetaData();