java - Spring Boot 中的外部化配置
问题描述
我有一个外部配置文件(外部 jar)。我尝试运行并期望外部文件中的值将覆盖内部文件中的值(application.properties
在\resource\
- jar 文件中)。我阅读了文档并尝试了这个:
java -jar ccgame-1.0.jar --spring.config.location=classpath:/application.properties,file:/production.properties
这不起作用。
我在目录中的 jar 文件\target\
和我的production.properties
也是(在\target\
)
我该如何解决我的问题?
- 我应该把外部配置文件放在哪里?
- 我必须做什么?
解决方案
从 Spring Boot 2.0 开始,可以使用 property spring.config.additional-location
。使用此属性,您可以设置外部配置文件,但该配置中的属性只会覆盖内部配置中的相应属性,而其他属性保持不变。
更多关于它的文档。
如果您需要完全覆盖整个配置,请继续使用spring.config.location
属性。
推荐阅读
- php - 如何在 PHP CI 中用 htaccess 替换 ?= 和 & 来自 url
- elasticsearch - ElasticSearch - 搜索多个索引并关联/聚合结果
- selenium - ActionChains的Python Selenium move_to_element方法不起作用
- r - R:如何将 write.csv 合并到嵌套的 foreach 循环中
- sql - 如果它们不为空,则在多个 id 上进行内部联接
- arrays - 在 Ruby 中的数组上运行的某些数学方程在预期为两位数时返回一位数
- c++ - 根据字符获取数组的索引
- r - 是否可以将数据集拆分为更小的部分并在单个图上绘制(使用 R)?
- c++ - 如何从参数包中获取指向对象的指针
- reactjs - Gif让反应一遍又一遍地刷新整个页面