spring引导没有解析yaml中apring.profiles.active属性的属性占位符

djmepvbi  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(659)

我习惯于这样一个特性:我可以使用 ${...} . 所以我有了SpringBootV2.3.0.release和以下版本。yml:

env: dev
spring:
  profiles:
    active: ${env}

但不幸的是,当运行我的应用程序时

The following profiles are active: ${env}

尽管这个占位符在其他属性(例如我定义为的Kafka主题)中非常有效

topic: ${env}.topic_name

我可以在日志中看到它被正确地解决了

Kafka producer topic=dev.topi_name

好像 spring.profiles.active 是这条规则的一个例外,但我不知道为什么。如果没有env变量、外部键、代码中的设置等,我如何才能得到相同的结果(profile取决于其他属性变量)?

mrfwxfqh

mrfwxfqh1#

这个问题在springboot2.4.0中已经修复,作为更新配置文件处理的一部分(更多信息请参见2.4.0发行说明)。
如果有兴趣,你可以玩新的物业 spring.config.use-legacy-processing 看看它们之间的区别 spring.profiles.active 已处理。

相关问题