@bitwheeze

Как в spring определить очередность загрузки application.properties?

Есть библиотека, написаная с использованием спринга и в jar файле, в корне лежит свой application.properties с дефолтными настройками. В частности там поределяется свойство api.url, которое указывает на тестовый сервер. Я подключил эту библиотеку в своем spring приложении. В приложении я переопределяю это свойство на свой api сервер. Для этого у меня свой application-prod.yml. Однако при старте приложения api.url все еще указывает на тестовый сервак, хотя другие аттрибуты моего приложения загружаются из моего application-prod.yml. Все, кроме api.url.

Только если я к примеру устанавливаю переменную окружения API_URL=мой сервер, то тогда app.url указывает на мой сервер.

Собственно в Configuration классе уменя стоит аннотация ComponentScan указывающий на пакет с библиотекой и все собственно.
  • Вопрос задан
  • 52 просмотра
Пригласить эксперта
Ответы на вопрос 1
emekhanikov
@emekhanikov
Разработчик и архитектор программного обеспечения
Если Ваш application-prod.yml внутри jar файла, запустите его с параметрами
-Dspring.profiles.active=prod
application.properties в любом случае загрузится, но значения из application-prod.yml его переопределяет

Пример:
java -jar myapp.jar --spring.profiles.active=prod --spring.config.name=application-prod


Если же снаружи лежит конфигурация можно запустить так
java -jar myapp.jar --spring.config.additional-location=file:/etc/myapp/application-prod.properties
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы