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