2013-03-15 2 views
2

В любом случае, я могу передать аргумент в профиле maven. Например, я хочу запустить сервер на определенном порту, если в противном случае он задан профилю по умолчанию. Как и при запуске mvn clean install -Pdeploy 4322, чем пакет должен развертываться на сервере, запущенном на порту 4322, в противном случае на 4052.Использование аргументов в профиле maven

Я жду любого совета или предложения.

ответ

5

Да, вы можете передать переменные окружения, например: mvn ... -Pdeploy -DdeploymentPort=4322

Затем доступ к переменной в профиле, как это:

... 
<port>${deploymentPort}</port> 
... 
+0

Просто добавьте .. Это будет дочерний элемент вашего узла свойств. – Woodifer

2

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

<properties> 
    <crx.userId>admin</crx.userId> 
    <crx.password>admin</crx.password> 
    <crx.host>localhost</crx.host> 
    <crx.port>4502</crx.port> 
</properties> 

Затем в родительском pom.xml или в pom.xml дочернего проекта вы можете использовать эти свойства.

Пример:

<plugin> 
    <groupId>com.day.jcr.vault</groupId> 
    <artifactId>content-package-maven-plugin</artifactId> 
    <extensions>true</extensions> 

    <configuration> 
     <targetURL>http://${crx.host}:${crx.port}/crx/packmgr/service.jsp</targetURL> 
     <userId>${crx.userId}</userId> 
     <password>${crx.password}</password> 
    </configuration> 
</plugin> 

Затем в команде Maven использовать -D[property name] = [value] перезаписать значение по умолчанию.

+0

спасибо kfaerver и костя за замечательный ответ :) – user2091202

Смежные вопросы