首页 > 代码库 > 用AntRun插件测试Maven的生命周期

用AntRun插件测试Maven的生命周期

在用AntRun插件之前,需要了解以下几个知识点:

1、Maven的生命周期,参考:http://www.cnblogs.com/EasonJim/p/6816340.html,主要是要知道生命周期里的每一个阶段。

2、AntRun插件的配置和使用,参考:http://www.cnblogs.com/EasonJim/p/6819338.html

在阅读http://www.yiibai.com/maven/maven_build_life_cycle.html这篇文章时,发现里面讲解时,尤其是使用AntRun插件有点模糊,所以以下我提出我理解的观点:

1、为什么要使用AntRun插件,原因是在使用AntRun插进时,其<phase>可以指定Maven的生命周期的阶段,然后当在命令行触发这个阶段时(也就是执行插件的目标),可以触发到AntRun插件的<target>里面的任务。

2、使用AntRun插件最多的就是<echo>输出信息插件,毕竟在生命周期探索期间,要熟悉每个阶段的调用位置,输出信息是最明了的。

以下,我将重现AntRun插件在执行Maven生命周期阶段的过程:

1、先创建一个Java Application项目,参考:http://www.cnblogs.com/EasonJim/p/6809882.html

2、配置pom.xml实现清洁(clean)阶段pre-clean、clean、post-clean。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">  <modelVersion>4.0.0</modelVersion>  <groupId>com.jsoft.test</groupId>  <artifactId>testproject</artifactId>  <packaging>jar</packaging>  <version>0.1-SNAPSHOT</version>  <name>testproject</name>  <url>http://maven.apache.org</url>  <build>      <plugins>        <plugin>           <groupId>org.apache.maven.plugins</groupId>           <artifactId>maven-antrun-plugin</artifactId>           <version>1.8</version>           <executions>              <execution>                 <id>pre-clean-echo</id>                 <phase>pre-clean</phase>                 <goals>                    <goal>run</goal>                 </goals>                 <configuration>                    <tasks>                       <echo>pre-clean phase</echo>                    </tasks>                 </configuration>              </execution>              <execution>                 <id>clean-echo</id>                 <phase>clean</phase>                 <goals>                  <goal>run</goal>                 </goals>                 <configuration>                    <tasks>                       <echo>clean phase</echo>                    </tasks>                 </configuration>              </execution>              <execution>                 <id>post-clean-echo</id>                 <phase>post-clean</phase>                 <goals>                    <goal>run</goal>                 </goals>                 <configuration>                    <tasks>                       <echo>post-clean phase</echo>                    </tasks>                 </configuration>              </execution>           </executions>        </plugin>      </plugins>  </build>  <dependencies>    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>3.8.1</version>      <scope>test</scope>    </dependency>  </dependencies></project>

在命令行上运行:

mvn post-clean

此时会触发post-clean阶段,并且之前的pre-clean、clean也一并触发,如下所示:

技术分享

 

总结:

通过以上的AntRun例子,可以很清晰的展示Maven生命周期各个阶段。

切记这一点,为什么要用AntRun插件,因为这个插件很好展示生命周期的阶段,并且不用编写一行代码。

用AntRun插件测试Maven的生命周期