spring.config.location不能在spring引导2.0.0 M6上工作

我将其中一个微服务迁移到Spring Boot 2.0.0.M6,并且在命令行上使用--spring.config.location=选项时出现错误。 错误如下:

 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.resolveRequiredPlaceholders(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.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.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.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:367) ~[spring-beans-5.0.1.RELEASE.jar:5.0.1.RELEASE] ... 50 common frames omitted 

如果我不使用自定义属性文件,一切都按预期工作或使用RELEASE版本。 我使用以下命令启动应用程序:

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

更新

我注意到,当使用这个选项时,Spring完全替换了项目中的默认application.properties,而不像以前的Spring版本那样只是覆盖了参数文件中的属性。 这是一个错误?

更新2

从团队得到了回应 ,显然这是有意的行为。 试图知道现在是否有办法使用旧版本的行为。

2 Solutions collect form web for “spring.config.location不能在spring引导2.0.0 M6上工作”

你的项目结构会有很大的帮助。 但是除此之外。

Spring文档给出了如何使用标志的例子:

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

尝试根据类路径解析应用程序属性。

正如Spring团队所说,从spring.config.location使用旧行为的正确方法是使用新的spring.config.additional-location

  • 如果安装了JaCoCo,Kotlin导入包级别的“val”对象将从Android库模块中失败
  • Dokka - 跳过为默认的android包生成javadoc
  • 无法在android studio中调用variables
  • 测试包不读取主包中定义的Kotlin类
  • 如何判断我的Spring启动应用程序是否处于调试模式?
  • 检测覆盖中的触摸事件并进一步传递
  • Kotlin(Maven) - 没有源文件的可执行JAR
  • 将从edittext获取的字符串转换为Kotlin语言的Integer
  • Android上的Kotlin:将光标映射到列表
  • Kotlin - 用泛型类型的参数声明泛型类
  • Spring JPA无法在Kotlin数据类中使用自定义setter映射字段
  • Kotlin language will be the best programming language for Android.