有时候我们需要在pom中运行ant命令,比如jar生成后做些什么等,可以像下面这样实现:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>install</id>
<phase>install</phase>
<configuration>
<target>
<delete dir="fat"/>
<unjar src="${project.build.directory}/rule-core-1.0-SNAPSHOT-fat.jar" dest="fat" overwrite="true"/>
<delete dir="fat/org/codehaus/commons"/>
<delete dir="fat/org/codehaus/janino"/>
<delete dir="fat/org/apache/commons/logging"/>
<jar destfile="${project.build.directory}/xyz.jar" basedir="fat" zip64Mode="always"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
其中phase指明要在pom的什么时候运行ant命令。
pom中很多事是做不了的,比如目录操作等,ant中有丰富的命令可用。所以我们可以用上面的方式使用ant命令来做很多事情。