Очевидно, что Maven не выполняет подстановку переменных / свойств при установке POM.Он установлен как есть, это принцип.Вам лучше не читать какие-либо свойства из POM (если это, например, не номер версии), но вы должны настроить свои свойства во внешнем файле (по одному на этап, например, dev.properties
, test.properties
, ...), а затем настроить Maven.профили (опять же, по одному на этап) и вызывайте Maven как mvn -Pdev
в зависимости от того, что вы хотите построить.В профиле вы можете упаковать ваше окончательное приложение с любыми свойствами, которые вам нравятся (например, с помощью build-helper-maven-plugin:add-resource
или maven-antrun-plugin
+ правило копирования).
В качестве альтернативыВы можете отфильтровать свои ресурсы .Например, вы можете отфильтровать XML-файл контекста Spring, который ссылается на файл свойств (поэтому вы упаковываете все файлы свойств, но Spring ссылается только на некоторые конкретные).Или вы можете отфильтровать другой файл свойств, из которого вы узнаете, что такое «основной» файл свойств (двойное косвенное обращение).