首页 > 代码库 > 用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的生命周期