внешняя конфигурация springboot - специфичная для профиля конфигурация - PullRequest
0 голосов
/ 05 июля 2018

Согласно документации 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, а не профиля.

Как я могу настроить его, чтобы он рассматривался как внешний профиль для конкретного профиля?

1 Ответ

0 голосов
/ 05 июля 2018

Нашел ответ:

Вам необходимо использовать Directory извне, чтобы установить специфичные для профиля файлы конфигурации, не используя файл напрямую, и он должен заканчиваться на /. Так должно быть:

-Dspring.profiles.active=prod

-Dspring.config.location=/<some-path>/config/ (любой путь, заканчивающийся /)

и там есть:

application-prod.yml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...