gpt4 book ai didi

java - springboot 外部配置 - 配置文件特定配置

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:08:04 25 4
gpt4 key购买 nike

根据SpringBoot文档,配置顺序为:

Profile-specific application properties outside of your packaged jar (application-{profile}.properties and YAML variants)

Profile-specific application properties packaged inside your jar (application-{profile}.properties and YAML variants)

Application properties outside of your packaged jar (application.properties and YAML variants).

Application properties packaged inside your jar (application.properties and YAML variants).

在我的项目中,我有一个名为“prod”的配置文件和以下文件:

  • application.yml(在 jar 里)
  • application-prod.yml(在 jar 里)

而且我还想使用外部文件覆盖一些属性。因为根据文档,外部 application.yml将被内部 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而不是特定的配置文件。

我如何配置它以将其视为配置文件特定的外部配置?

最佳答案

找到答案:

您需要使用 Directory在外部设置配置文件特定的配置文件,不直接使用该文件,它需要以 / 结尾.所以它必须是:

-Dspring.profiles.active=prod

-Dspring.config.location=/<some-path>/config/ (任何以 / 结尾的路径)

里面有一个:

application-prod.yml

关于java - springboot 外部配置 - 配置文件特定配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51186918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com