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>