maven-antrun-plugin 为 Maven对执行Ant任务的一个插件:
官方链接:
http://maven.apache.org/plugins/maven-antrun-plugin/index.html
http://maven.apache.org/plugins/maven-antrun-plugin/usage.html
http://maven.apache.org/plugins/maven-antrun-plugin/examples/classpaths.html
http://maven.apache.org/plugins/maven-antrun-plugin/examples/tasksAttributes.html
http://maven.apache.org/plugins/maven-antrun-plugin/examples/customTasks.html
在<target></target>中写Ant脚本(便于从Ant构建的项目迁移到Maven中来):
例子:
<!-- 刷新开发环境数据库 --> <profile> <id>initdatas</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.7</version> <configuration> <target> <property file="src/main/resources/application.local.properties" /> <property file="src/main/resources/application.properties" /> <property name="sql.type" value="${sql.type}" /> <property name="dbunit.datatype" value="org.dbunit.ext.h2.H2DataTypeFactory" /> <taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask" classpathref="maven.test.classpath" /> <!-- base --> <sql driver="${jdbc.driver}" url="${jdbc.url}" userid="${jdbc.username}" password="${jdbc.password}" src="src/main/resources/sql/${sql.type}/schema.sql" οnerrοr="continue"> <classpath refid="maven.test.classpath" /> </sql> <!-- add init datas --> <dbunit driver="${jdbc.driver}" url="${jdbc.url}" userid="${jdbc.username}" password="${jdbc.password}"> <dbconfig> <property name="datatypeFactory" value="${dbunit.datatype}" /> </dbconfig> <classpath refid="maven.test.classpath" /> <operation type="CLEAN_INSERT" src="src/test/resources/data/sample-data.xml" format="flat" transaction="true" /> </dbunit> </target> </configuration> </plugin> </plugins> </build> </profile>
在命令行上明确激活Profile用-P flag 参数来执行Maven构建,如:
mvn antrun:run -Pinitdatas