Как использовать условный атрибут в POM - PullRequest
0 голосов
/ 09 ноября 2018

Мне нужно было передать выбранный профиль Maven в Spring, чтобы информацию о профиле можно было использовать при запуске регрессионных тестов с помощью плагина Surefire, добавив атрибут argLine ниже. Выбранный профиль передается как:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <configuration>
        <argLine>-Dspring.profiles.active=@{spring.profiles.active} @{argLine}</argLine>
      </configuration>
    </plugin>
  </plugins>
</build> 

А затем мне нужно все время запускать тест как mvn clean test -Pdev (или другое имя env). Есть ли способ добавить условие, что если -P<env name> деталь не указана, игнорировать / пропустить атрибут argLine?

Что-то вроде if {{spring.profiles.active} = null, тогда не включайте этот атрибут

1 Ответ

0 голосов
/ 09 ноября 2018

Вы можете попробовать свойство <argLine>@{argLine}</argLine> в профиле dev (или другое имя env) и использовать его в <argLine>:

<argLine>-Dspring.profiles.active=@{spring.profiles.active} ${argLine}</argLine>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...