在我的application-pre.properties
文件中编码了以下属性:
scheduler.url-backoffice=http://${BACKOFFICE_SERVICE}:8080
为了填充它,我使用了-Dspring-boot.run.arguments=--spring.config.additional-location=scheduler-config.properties
。
scheduler-config.properties
BACKOFFICE_SERVICE=localhost
scheduler.url-backoffice=http://localhost:8081
我需要设置BACKOFFICE_SERVICE
属性,否则spring不会启动。因此,这意味着scheduler.url-backoffice
来到了http://localhost:8080
。
在那之后,我又增加了一行,以便超越它的价值。
令我惊讶的是,它的价值并没有改变。我的意思是,scheduler.url-backoffice
的价值是http://localhost:8080
而不是http://localhost:8081
。
我无法更改application-pre.properties
内容文件.
发布于 2019-10-14 05:29:58
使用多个应用程序属性文件。您可以在jar中投递;这包含缺省值。对我来说,如果只有一组prod值,则默认转换为prod值,或者是开发人员本地值(这应该会导致生产中的失败)。
第二个文件包含覆盖默认值的特定于环境的属性值。
必须更改启动值才能实现这一目标。下面是一个例子:-Dspring-boot.run.arguments=--spring.config.additional-location=scheduler-config.properties,local-scheduler-config.properties
编辑:回应“仍然不工作”。
看起来,您需要的不仅仅是我前面描述的“简单”方法。为此,请查看24节。中的外部化配置弹簧启动参考指南。
有许多技术可以覆盖配置值;参考指南中包含了所有这些技术。
https://stackoverflow.com/questions/58377727
复制相似问题