maven插件(5) - antrun

1. antrun 简述

通过antrun插件可以在maven中运行ant task, 具体参考antrun

2. 使用antrun

按照如下格式使用antrun

<plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.8</version>
        <executions>
          <execution>
            <phase> <!-- a lifecycle phase --> </phase>
            <configuration>
              <target>

                <!--
                  在这里添加ant task, 所有能在ant的build.xml的<target>标签里的都可以出现这里
                -->

              </target>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
</plugin>

2.1 一个例子

下面的例子用于将运行mvn package时生成的jar包(默认项目的jar在${project.build.directory}下面)移动到${project.basedir}/lib目录下,将${project.basedir}/src/main/resources目录下的资源文件移动到${project.basedir}/lib目录下。 配置如下:

 <properties>
        <lib.dir>${project.basedir}/lib</lib.dir>
        <conf.dir>${project.basedir}/conf</conf.dir>
        <resource.dir>${project.basedir}/src/main/resources</resource.dir>
    </properties>
...
<build>
<plugins>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.8</version>
       <executions>
         <execution>
           <phase>package</phase>
              <goals>
                 <goal>run</goal>
              </goals>
             <configuration>
               <target>
                 // 在target里添加多个ant task
                 // 这里先建好目标目录
                  <mkdir dir="${lib.dir}"/>
                  <mkdir dir="${conf.dir}"/>
                  // 将${project.build.directory}下所有jar包copy到${lib.dir}下
                  <copy todir="${lib.dir}" overwrite="true" >
                     <fileset dir="${project.build.directory}" erroronmissingdir="false">
                        <include name="*.jar"/>
                     </fileset>
                  </copy>
                  // 将${resource.dir}下所有.cfg后缀的文件都copy到${conf.dir}下
                  <copy todir="${conf.dir}" overwrite="true" >
                    <fileset dir="${resource.dir}" erroronmissingdir="false">
                      <include name="*.cfg"/>
                    </fileset>
                  </copy>
               </target>
             </configuration>
       </execution>
    </executions>
</plugin>
</plugins>
</build>
    原文作者:aaron1993
    原文地址: https://www.jianshu.com/p/4bbdf456305e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞