Внешние свойства, чтобы развертывание не требовало компиляции кода - PullRequest
0 голосов
/ 01 апреля 2019

Работа над приложением с начальной загрузкой, в котором мы сохраняем свойства для разных сред в разных файлах свойств, например, для prod его application-prod.properties, для uat его application-uat.properties и т. Д. Эти файлы свойств находятся в каталоге src / main. / resources / folder. Для запуска в другой среде мы передаем env в качестве параметра в командной строке, а spring-boot загружает правильный файл свойств. Мы используем teamcity для автоматического развертывания.

Проблема в том, что всякий раз, когда свойство изменяется, нам нужно снова скомпилировать и собрать приложение a, поскольку файл свойств находится в коде. Как передать файл свойств или, лучше сказать, его путь на этапе сборки teamcity, чтобы при каждом изменении свойства было достаточно перезапустить приложение с новым свойством без перекомпиляции всего приложения. Также как это сделать на локальном уровне, то есть для локального запуска приложения с другим файлом свойств.

1 Ответ

0 голосов
/ 01 апреля 2019

Вы можете передать файл свойств в качестве параметра при запуске приложения.В следующем примере показано, как указать два местоположения:

java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties

Файлы свойств приложения

...