Согласно документации SpringBoot, порядок конфигурации такой:
Свойства приложения для конкретного профиля вне вашего упакованного фляги (application- {profile} .properties и YAML-варианты)
Свойства приложения для конкретного профиля, упакованные внутри вашего jar (application- {profile} .properties и YAML-варианты)
Свойства приложения вне вашего упакованного фляги (application.properties и YAML варианты).
Свойства приложения, упакованные внутри вашего jar (application.properties и YAML варианты).
В моем проекте есть профиль с именем "prod" и следующие файлы:
- application.yml (внутри банки)
- application-prod.yml (внутри банки)
И я также хочу переопределить некоторые свойства, используя внешний файл. Поскольку в соответствии с документами внешний 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
, а не профиля.
Как я могу настроить его, чтобы он рассматривался как внешний профиль для конкретного профиля?