Maven: Как мне обеспечить включение свойства для фазы жизненного цикла? - PullRequest
1 голос
/ 08 декабря 2011

Я использую Maven 3.0.3. Если кто-то запускает задачу Maven, включающую фазу «проверки», я хочу убедиться, что свойство «tomcat.manager.url» определено, и, если это не так, выдать ошибку. Однако, если кто-то не выполнил команду, которая включает проверку (например, mvn test), я не хочу выдавать какую-либо ошибку.

Как мне это сделать?

Спасибо, - Дейв

1 Ответ

3 голосов
/ 08 декабря 2011

Вы можете настроить плагин принудительного исполнения ( docs ) для выполнения во время фазы «проверки» с правилом, которое требует, чтобы плагин был установлен, конфигурация будет выглядеть примерно так:

<build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.0.1</version>
        <executions>
          <execution>
            <id>enforce-property</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <phase>verify</phase>
            <configuration>
              <rules>
                <requireProperty>
                  <property>tomcat.manager.url</property>
                  <message>You must set a tomcat manager url</message>
                </requireProperty>
              </rules>
              <fail>true</fail>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

Поскольку плагин будет выполняться только на этапе проверки, проверка не будет выполняться, если вы не выполняете сборку, которая достигает этой фазы.

...