Maven实战之antrun插件

               

本文地址:http://blog.csdn.net/kongxx/article/details/6998965

在Maven实际使用过程中,有时候在对一些旧有的项目的做从Makefile和ant到Maven迁移时需要对一些步骤做特殊处理,比如说编译JNI代码,虽然Maven有个native插件可以用,但需要将原有项目JNI的编译步骤重写,这在有些时候显然不太适合,比如时间压力比较大的情况下。其实这种情况可以使用Maven的antrun插件来做,这样做的好处就是可以重用原来写好的Makefile,相对来说还是比较简单也是最快的。具体信息可以参考http://maven.apache.org/plugins/maven-antrun-plugin/。

Maven的antrun用起来也是非常简单的,就是在代码里嵌入类似以下代码片段:

 ... <build>  <plugins>   <plugin>    <artifactId>maven-antrun-plugin</artifactId>    <executions>     <execution>      <id>package</id>      <phase>package</phase>      <goals>       <goal>run</goal>      </goals>      <configuration>       <tasks>        <echo message="make ..."/>        <exec dir="src/main/c" executable="make" failonerror="true" />       </tasks>      </configuration>     </execution>     <execution>      <id>clean</id>      <phase>clean</phase>      <goals>       <goal>run</goal>      </goals>      <configuration>       <tasks>        <echo message="make clean ..."/>        <exec dir="src/main/c" executable="make" failonerror="true">         <arg line="clean"/>        </exec>       </tasks>      </configuration>     </execution>    </executions>   </plugin>  </plugins> </build> ...

* 代码中定义了两个execution节点,分别执行原来Makefile中定义的make和make clean。这里可以将tasks节点定义成任意自己想要运行的ant任务;

* 在第一个execution节点下,把phase定义成package,goal定义成run,是为了使在运行"mvn package"的时候自动执行第一个execution节点下的ant任务;

* 在第二个execution节点下,把phase定义成clean,goal定义成run,是为了使在运行"mvn clean"的时候自动执行第二个execution节点下的ant任务;



           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值