我习惯于这样一个特性:我可以使用 ${...}
. 所以我有了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取决于其他属性变量)?
1条答案
按热度按时间mrfwxfqh1#
这个问题在springboot2.4.0中已经修复,作为更新配置文件处理的一部分(更多信息请参见2.4.0发行说明)。
如果有兴趣,你可以玩新的物业
spring.config.use-legacy-processing
看看它们之间的区别spring.profiles.active
已处理。