2014-12-24 2 views
1

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

mvn clean install 

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

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

Я хочу использовать переменную расположение как го является:

классам:/$ {место} /properties-config.xml

+0

Возможный дубликат [Как передать параметры в maven build using pom.xml?] (Http://stackoverflow.com/questions/24206013/how-to-pass-parameters-to-maven-build-using-pom -xml) – kamoor

+2

Еще один наш подход: мы начинаем все наши серверы с определенного аргумента vm (the.environment = production/test/integration/etc), и в наших приложениях мы загружаем наши конфигурации из/our/resource/package/-current-среда/configuration.properties. Таким образом, одна сборка будет работать на всех серверах. – slowy

+1

Фильтрация Maven (как предложено в ответе [krmanish007] (http://stackoverflow.com/a/27638282/3127111)) + Свойства POM - это путь. – watery

ответ

1

Попробуйте передать его как аргумент VM: -Dargument=value

так запустить Maven будет: mvn clean install -Dlocation=dev

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