application.properties(配置文件)环境占位符的默认值不能用逗号分隔

Cha*_*had 5 java spring spring-boot

我的 application.properties 中有以下属性。

spring.profiles.active=dev,local
Run Code Online (Sandbox Code Playgroud)

这工作正常。但是,我决定也将其作为环境变量公开并保留dev,local为默认值。但是,以下不起作用。

spring.profiles.active=${PROFILES_ACTIVE:dev,local}
Run Code Online (Sandbox Code Playgroud)

似乎逗号会导致此问题。

检查日志

[2018-05-24 05:38:28.163] [main] [INFO] [Application] The following profiles are active: ${PROFILES_ACTIVE:dev,local}
Run Code Online (Sandbox Code Playgroud)

但是,以下工作。

spring.profiles.active=${PROFILES_ACTIVE:dev}
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何建议?

Pla*_*men 7

尝试:

spring.profiles.active=${PROFILES_ACTIVE:#{'dev,local'}}
Run Code Online (Sandbox Code Playgroud)

它使用 EL语法模板

  • 没有为 SpEL 配置某些内容...只是为了论证,您可以尝试 `spring.profiles.active=${PROFILES_ACTIVE:'dev,local'}` (2认同)