7.5.3 POM中插件任务配置

除了为插件配置全局的参数,用户还可以为某个插件任务配置特定的参数。以maven-antrun-plugin为例,它有一个目标run,可以用来在Maven中调用Ant任务。用户将maven-antrun-plugin:run绑定到多个生命周期阶段上,再加以不同的配置,就可以让Maven在不同的生命阶段执行不同的任务,见代码清单7-5。

代码清单7-5 在POM中对插件进行任务配置


<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>

<configuration>

<tasks>

<echo>I'm bound to validate phase.</echo>

</tasks>

</configuration>

</execution>

<execution>

<id>ant-verify</id>

<phase>verify</phase>

<goals>

<goal>run</goal>

</goals>

<configuration>

<tasks>

<echo>I'm bound to verify phase.</echo>

</tasks>

</configuration>

</execution>

</executions>

</plugin>

</plugins>

</build>


在上述代码片段中,首先,maven-antrun-plugin:run与validate阶段绑定,从而构成一个id为ant-validate的任务。插件全局配置中的configuration元素位于plugin元素下面,而这里的configuration元素则位于execution元素下,表示这是特定任务的配置,而非插件整体的配置。这个ant-validate任务配置了一个echo Ant任务,向命令行输出一段文字,表示该任务是绑定到validate阶段的。第二个任务的id为ant-verify,它绑定到了verify阶段,同样它也输出一段文字到命令行,告诉该任务绑定到了verify阶段。