根据 SpringBoot 文档,配置顺序为:
打包 jar 之外的特定于配置文件的应用程序属性(application-{profile}.properties 和 YAML 变体)
打包在 jar 中的特定于配置文件的应用程序属性(application-{profile}.properties 和 YAML 变体)
打包 jar 之外的应用程序属性(application.properties 和 YAML 变体)。
打包在 jar 中的应用程序属性(application.properties 和 YAML 变体)。
在我的项目中,我有一个名为“prod”的配置文件和以下文件:
- application.yml(在罐子里)
- application-prod.yml(在罐子里)
而且我还想使用外部文件覆盖一些属性。由于根据文档, externalapplication.yml
将被 internal 覆盖application-prod.yml
,我需要确保将外部文件视为profile specific
配置文件。
我曾尝试使用:
-Dspring.config.location=<my path>/application-prod.yml
我也试过:
-Dspring.config.location=file:<my path>/application-prod.yml
在所有情况下,我都从内部获得价值 application-prod.yml
如果我完全删除了内部配置文件,那么我会从外部获取值(所以我知道配置会获取文件)。
我了解此外部文件被视为与通用文件等效,application.yml
而不是特定于配置文件。
如何将其配置为配置文件特定的外部配置?