Spring Boot:如何在application.properties中指定一个破折号的环境变量?

时间:2015-07-24 22:47:52

标签: java spring spring-boot

我有一个application.properties文件,如下所示:

mcl.sso.frontend-url=http://blah.com:9001
mcl.sso.mocking-agent=false

我试图从命令行覆盖这两个变量。这应该可以通过设置环境变量来实现。以下是我如何运行命令:

MCL_SSO_FRONTEND_URL='foobar' MCL_SSO_MOCKING_AGENT='true' ./gradlew run

但是,当我打印出这些变量的值时,mcl.sso.mocking-agent等于" true" (正如预期的那样),但mcl.sso.frontend-url仍然等于" http://blah.com:9001" (意外)。为什么不mcl.sso.frontend-url改变财产的价值?我只能假设这与Spring将环境​​变量转换为属性键的方式有关,但我无法找到关于此的任何特定文档。

2 个答案:

答案 0 :(得分:2)

从Spring Boot 1.2.5开始修复此问题。以前,您必须使用MCL_SSO_FRONTEND-URL(请注意无法转换为下划线的短划线。)

您可以使用this sample project来播放绑定。

答案 1 :(得分:0)

去掉破折号:

mcl.sso.mocking-agent > MCL_SSO_MOCKINGAGENT