Considering the following example:
@Configuration(proxyBeanMethods = false)
@ImportAsConfigurationPropertiesBean(Annotated1Properties.class)
static class ImportAnnotated1PropertiesConfiguration {
}
This leads to
Caused by: java.lang.ClassCastException: class java.util.ArrayList cannot be cast to class java.lang.String (java.util.ArrayList and java.lang.String are in module java.base of loader 'bootstrap')
at org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor.getPrefix (ConfigurationMetadataAnnotationProcessor.java:369)
at org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor.processImportAsConfigurationPropertiesBean (ConfigurationMetadataAnnotationProcessor.java:324)
at java.util.ArrayList.forEach (ArrayList.java:1511)
at java.util.Collections$UnmodifiableCollection.forEach (Collections.java:1087)
at org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor.processImportAsConfigurationPropertiesBean (ConfigurationMetadataAnnotationProcessor.java:319)
at java.lang.Iterable.forEach (Iterable.java:75)
at org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor.processImportAsConfigurationProperties (ConfigurationMetadataAnnotationProcessor.java:206)
at org.springframework.boot.configurationprocessor.ConfigurationMetadataAnnotationProcessor.process (ConfigurationMetadataAnnotationProcessor.java:163)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor (JavacProcessingEnvironment.java:1025)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:940)
at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1269)
at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1383)
at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1261)
at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:935)
at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0 (JavacTaskImpl.java:104)
at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:147)
at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:100)
at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:94)
Comment From: snicoll
We've decided to revert this feature so this bug no longer applies.