web-dev-qa-db-fra.com

Impossible de lier les propriétés

J'ai mis à jour Spring Boot de la version 1.5.6 à la version 2.0.0 et de nombreux problèmes ont commencé. Le premier est le problème donné dans le sujet. J'ai une classe avec des propriétés

@Data
@ConfigurationProperties("eclipseLink")
public class EclipseLinkProperties { ... }

que j'utilise en configuration

@Configuration
@EnableConfigurationProperties(EclipseLinkProperties.class)
public class WebDatasourceConfig { ... }

pendant la compilation, il me jette

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

Ça veut dire

Configuration property name 'eclipseLink' is not valid

Avant la mise à jour Spring Boot, tout fonctionnait bien.

4
rytyrtytr

eclipseLink n'est pas un préfixe valide. Comme décrit dans la documentation kebab-case devrait être utilisé plutôt que camelCase. Donc, votre préfixe devrait être Eclipse-link plutôt que eclipseLink.

8
Andy Wilkinson

L'affaire Camel n'est pas prise en charge dans Spring Boot 2.0. Cela provoquerait InvalidConfigurationPropertyNameException: le nom de la propriété de configuration '********' n'est pas valide.

0
Debadatta