spring.config.location no funciona en el arranque de spring 2.0.0 M6

Estoy migrando uno de mis micro services a Spring Boot 2.0.0.M6 y obtuve un error al usar la opción --spring.config.location= en la command-line. El error es el siguiente:

 Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'property' in value "${property}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:172) ~[spring-core-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124) ~[spring-core-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:237) ~[spring-core-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.core.env.AbstractPropertyResolver.resolveRequinetworkingPlaceholders(AbstractPropertyResolver.java:211) ~[spring-core-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175) ~[spring-context-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:834) ~[spring-beans-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1081) ~[spring-beans-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1060) ~[spring-beans-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.beans.factory.annotation.AutowinetworkingAnnotationBeanPostProcessor$AutowinetworkingFieldElement.inject(AutowinetworkingAnnotationBeanPostProcessor.java:578) ~[spring-beans-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:91) ~[spring-beans-5.0.1.RELEASE.jar:5.0.1.RELEASE] at org.springframework.beans.factory.annotation.AutowinetworkingAnnotationBeanPostProcessor.postProcessPropertyValues(AutowinetworkingAnnotationBeanPostProcessor.java:367) ~[spring-beans-5.0.1.RELEASE.jar:5.0.1.RELEASE] ... 50 common frames omitted 

Si no uso el file de propiedad personalizado, todo funciona según lo previsto o uso las versiones de LIBERACIÓN. Estoy comenzando la aplicación con el siguiente command:

java -jar application.jar --spring.config.location=app.properties

Actualizar

Observé que al utilizar esta opción, Spring reemplaza por completo las properties.properties pnetworkingeterminadas del proyecto, a diferencia de las versiones Spring anteriores, que simplemente sobrescriben las properties en el file argumento. ¿Es esto un error?

Actualización 2

Obtuve una respuesta del equipo, aparentemente este es el comportamiento previsto. Tratando de saber ahora si hay una forma de usar el comportamiento de las versiones anteriores.

La estructura de su proyecto sería de gran ayuda. Pero aparte de eso.

Los documentos de Spring dan un ejemplo de cómo usar la bandera:

  --spring.config.location=classpath:/default.properties 

Intente resolver las properties de su aplicación contra el classpath.

Como dijo el equipo de Spring, la forma correcta de usar el comportamiento anterior de spring.config.location es usar el nuevo spring.config.additional-location

  • BeanDefinitionParsingException cuando se intenta usar JPA con Kotlin y Spring boot
  • java.lang.NoSuchMethodException: com ... Employee. <init> ()
  • Las testings de Kotlin fallan desde la línea de command con ClassNotFoundException pero funcionan desde IntelliJ
  • Almacenar datos en BEAN (Spring Boot REST)
  • Spring no puede manejar el método que devuelve la class Kotlin interna genérica
  • cómo cargar config en spring-webflux sin spring-boot?
  • @DataJpaTest y @Async El método CRUDRepository no funciona en set