Мы используем Maven для создания наших Java-проектов с различными профилями (тестирование, подготовка, производство и т. Д.).Каждый профиль имеет свой собственный фильтр, объявленный как:
<filters>
<filter>src/main/filters/filter-${env}.properties</filter>
</filters>
(с $ {env} в качестве имени профиля).Каждый фильтр содержит значения, специфичные для целевой среды (в основном это параметры конфигурации).
Он прекрасно работал в течение многих лет.Но иногда мы хотели бы переопределить одно из значений в этом файле фильтра .properties, не изменяя сам файл .
Почему?Потому что это происходит очень поздно в процессе.Мы уже пометили версию в SCM, тщательно протестировали ее в средах тестирования / промежуточного хранения, установили связь с этим номером версии и обнаруживаем неправильное значение параметра в производственном фильтре при установке в производство.Уже слишком поздно для создания нового тега и повторного тестирования, только для параметра конфигурации.
Я хотел бы найти способ переопределить значение во время выполнения Maven: либо с помощью переменной среды, либо путем передачи некоторогопараметры в командной строке Maven.
Я полагаю, это могло бы быть возможно путем расширения самого плагина maven-resources-plugin, но мог бы быть более простой способ?
NB: наша сборка негенерировать только войну, но полный пакет, включая его конфигурацию.
Техническая среда: Maven 3.3.9, запущенная заданием Jenkins