zoukankan      html  css  js  c++  java
  • 用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插件,因为这个插件很好展示生命周期的阶段,并且不用编写一行代码。

  • 相关阅读:
    [TJOI2013]单词 AC 自动机
    NOIP 2017 逛公园 记忆化搜索 最短路 好题
    [BJWC2012]冻结 分层图最短路
    dijkstra STL 堆优化
    [POI2002][HAOI2007]反素数 数论 搜索 好题
    bzoj 2456: mode 思维题 好题
    [SDOI2012]Longge的问题 欧拉反演_欧拉函数
    [JLOI2011]飞行路线 分层图最短路
    页面加速优化
    制作html5微信页面的经验总结。
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6819375.html
Copyright © 2011-2022 走看看