Maven: как скомпилировать проект с входными параметрами

Я компилирую свой проект следующим образом:

mvn clean install

Но мой проект имеет другие параметры для других серверов, и мне нужно исправить это после компиляции (например, location=prod на рабочем сервере и location=dev на локальном сервере). У меня есть кусок кода в моем web.xml, например:

<init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>
          classpath:/properties-config.xml
     </param-value>
</init-param>

Я хочу использовать переменную location следующим образом:

путь к классам:/${местоположение}/properties-config.xml


person Oleg    schedule 24.12.2014    source источник
comment
возможный дубликат Как передать параметры для сборки maven с помощью pom .xml?   -  person kamoor    schedule 24.12.2014
comment
Другой / наш подход: мы запускаем все наши серверы с определенным аргументом vm (the.environment=production/test/integration/etc) и в наших приложениях мы загружаем наши конфигурации из /our/resource/package/-current-environment /configuration.properties. Таким образом, одна сборка будет работать на всех серверах.   -  person slowy    schedule 24.12.2014
comment
Фильтрация Maven (как предложено в ответе krmanish007) + свойства POM - это путь.   -  person watery    schedule 26.12.2014


Ответы (1)


Попробуйте передать его как аргумент виртуальной машины: -Dargument=value

поэтому запустить maven будет: mvn clean install -Dlocation=dev

у меня работает, но не в web-xml. Надеюсь, это поможет вам.

person Cuzz    schedule 24.12.2014