Я обновил Spring Boot с версии 1.5.6 до 2.0.0, и возникло много проблем. Одна - это проблема, заданная в теме. У меня есть класс со свойствами
@Data
@ConfigurationProperties("eclipseLink")
public class EclipseLinkProperties { ... }
который я использую в конфигурации
@Configuration
@EnableConfigurationProperties(EclipseLinkProperties.class)
public class WebDatasourceConfig { ... }
во время компиляции он меня выкидывает
2018-03-18 18:44:58.560 INFO 3528 --- [ main] trationDelegate$BeanPostProcessorChecker : Bean 'org.springframework.boot.context.properties.ConversionServiceDeducer$Factory' of type [org.springframework.boot.context.properties.ConversionServiceDeducer$Factory] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2018-03-18 18:44:58.575 WARN 3528 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'webDatasourceConfig': Unsatisfied dependency expressed through field 'eclipseLinkProperties'; nested exception is org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'eclipseLink-com.web.web.config.properties.EclipseLinkProperties': Could not bind properties to 'EclipseLinkProperties' : prefix=eclipseLink, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is org.springframework.boot.context.properties.source.InvalidConfigurationPropertyNameException: Configuration property name 'eclipseLink' is not valid
Это значит
Configuration property name 'eclipseLink' is not valid
До обновления Spring Boot все работало.




eclipseLink не является допустимым префиксом. Так как описано в документации следует использовать kebab-case, а не camelCase. Таким образом, ваш префикс должен быть eclipse-link, а не eclipseLink.
Случай Camel не поддерживается в Spring boot 2.0. Это вызовет исключение InvalidConfigurationPropertyNameException: имя свойства конфигурации «********» недопустимо.
Столкнулся с этой проблемой, когда новая конфигурация в одном из файлов .yml не была добавлена во все файлы .yml (точнее, test.yml)