Java 在bootstrap.yml中设置活动配置文件不会影响application.yml的评估。这是一个bug还是一个我不知道的特性';我认不出来?
当我在Java 在bootstrap.yml中设置活动配置文件不会影响application.yml的评估。这是一个bug还是一个我不知道的特性';我认不出来?,java,spring,spring-boot,Java,Spring,Spring Boot,当我在bootstrap.yml中添加spring.profiles.active=DEV时,这对于bootstrap来说处理得很好。即,将从引导属性加载开发人员配置文件。但是,在处理application.yml时,它不起作用 从单步执行代码来看,这似乎是由于有关激活的配置文件的信息没有向上推得足够远(仅进入标准环境,这似乎是ConfigFileApplicationListener的本地设置。在评估application.yml时,将再次根据原始信息创建环境,并且不会读取配置文件 不幸的是,
bootstrap.yml
中添加spring.profiles.active=DEV
时,这对于bootstrap来说处理得很好。即,将从引导属性加载开发人员配置文件。但是,在处理application.yml
时,它不起作用
从单步执行代码来看,这似乎是由于有关激活的配置文件的信息没有向上推得足够远(仅进入标准环境
,这似乎是ConfigFileApplicationListener
的本地设置。在评估application.yml时,将再次根据原始信息创建环境,并且不会读取配置文件
不幸的是,我找不到任何关于该属性的文档。文档总是指在
应用程序.properties
中设置此属性。现在我很好奇这是否是一个(预期的)部分功能可能需要一些文档整理,或者更确切地说是一个应该修复的bug?仅供参考,这似乎是由bug触发的
至少在Spring boot 2.0.3中,可以在bootstrap.yml中定义活动配置文件,并激活application.yml中定义的配置文件
请确保在yml配置中,活动配置文件周围不要有双引号,否则将无法正确处理它们。与spring cloud结合使用时,可以在bootstrap.yml中设置活动配置文件 将此添加到pom.xml中:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-context</artifactId>
<version>1.2.4.RELEASE</version>
</dependency>
org.springframework.cloud
spring云上下文
1.2.4.1发布
我遇到了同样的问题。当我在bootstrap.yml
上设置spring.profiles.active:dev
时,我得到没有活动的配置文件集,返回到默认配置文件:default。
在application.yml
上设置时效果很好。我需要将其设置为bootstrap.yml
或者属性在logback spring上无法工作。xml
。