以maven-antrun-plugin爲例,它有一個目標run,可以用來在Maven中調用Ant任務。用戶將maven-antrun-plugin:run 綁定到多個生命週期階段上,再加以不同的配置,就可以讓Maven在不同的生命階段執行不同的任務,如:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>ant-validate</id>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuraction>
<tasks>
<echo>I'm bound to validate phase.</echo>
</tasks>
</configuraction>
</execution>
<execution>
<id>ant-verify</id>
<phase>verify</phase>
<goals>
<goal>run</goal>
</goals>
<configuraction>
<tasks>
<echo>I'm bound to verify phase.</echo>
</tasks>
</configuraction>
</execution>
</executions>
</plugin>
</plugins>
</build>
在上述代碼片段中,首先,maven-antrun-plugin:run 與 validate階段綁定,從而構成一個id爲ant-validate的任務。插件全局配置中得configuraction元素位於plugin元素下面,而這裏的configuraction元素則位於execution元素下,表示這是特定任務的配置,而非插件整體的配置。
這個ant-validate任務配置了一個echo Ant任務,向命令行輸出一段文字,表示該任務是綁定到validate階段的。
第二個任務的id爲ant-verify,它綁定到了verify階段,同樣它也輸出了一段文字到命令行,告訴該任務綁定到了verify階段。