`
123003473
  • 浏览: 1064127 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Maven实战之antrun插件

 
阅读更多
在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任务;


【转载地址】http://blog.csdn.net/kongxx/article/details/6998965
分享到:
评论

相关推荐

    maven-antrun-plugin-3.0.0.jar

    maven-antrun-plugin-3.0.0.jar

    maven-antrun-plugin-1.8.jar

    java运行依赖jar包

    Maven 实战(中文pdf)

    Maven的插件系统也是其强大之处,通过插件可以扩展Maven的功能,例如进行代码覆盖率分析、单元测试、集成测试等。 此外,书中的内容还会涵盖Maven的依赖管理和解决冲突的方法,如使用 exclusion 标签排除不想要的...

    maven-antrun-plugin-1.3.jar

    maven-antrun-plugin-1.3.jar maven-antrun-plugin-1.3.jar maven-antrun-plugin-1.3.jar

    Maven 实战(361)_12804356.pdf

    Maven 实战(361)_12804356.pdf

    maven-antrun-plugin:Apache Maven AntRun插件

    这样,您可以确保您不会浪费时间在Apache Maven范围之外的东西上。 假设您的问题不存在,请提交该问题的票证。 清楚地描述问题,包括在出现错误时重现的步骤。 确保填写您知道存在问题的最早版本。 在GitHub上分叉...

    用谷歌的closure-compiler + maven-antrun-plugin

    标题中的“用谷歌的closure-compiler + maven-antrun-plugin”表明了本文将探讨如何结合Google的Closure Compiler工具和Maven的Antrun插件来优化JavaScrip项目。Closure Compiler是一款强大的JavaScript代码压缩器,...

    maven 实战 所有源代码

    ** Maven实战:所有源代码详解 ** Maven是一款强大的项目管理和构建工具,广泛应用于Java开发领域。它通过一套约定优于配置的原则,简化了项目的构建、依赖管理以及文档生成等工作。本篇文章将深入探讨"Maven实战...

    Maven实战 Maven实战Maven实战

    ### Maven实战:Maven的安装、配置及使用入门 #### Maven概述 Maven是一款流行的Java项目管理和理解工具,由Sonatype公司支持,并广泛应用于Java项目的构建、依赖管理和文档生成等领域。Maven通过一种约定优于配置...

    Maven 实战.pdf-完整版

    Maven是一种基于项目对象模型(POM)的项目管理工具,主要用于Java项目。它利用一个中央信息管理的...无论是对Maven初学者还是资深开发者,本书都能提供极大的帮助,被广泛认为是学习和应用Maven的最佳参考书籍之一。

    Maven实战.pdf

    Maven实战 好书 学习参考.pdf

    Maven 实战(书签版),十分清晰强烈推荐

    Maven 实战(书签版) 影印版,影印规整,十分清晰,强烈推荐!

    Maven 实战源码

    《Maven实战源码》是一本专为Java开发者设计的指南,旨在帮助初学者和有经验的开发者深入理解和掌握Maven这一强大的项目管理和构建工具。Maven不仅简化了项目的构建过程,还通过依赖管理和插件机制,使得软件开发...

    Maven实战pdf+源码

    Maven实战为许晓斌著。资源里面包括Maven实战pdf、程序所带源码。在eclipse开发时,需要下载m2e,下载地址...eclipse 4.5 以上版本带的有Maven 插件,在下载m2e之前把Maven插件卸载掉,再装Maven插件。

    Maven实战 完整高清版

    非常好的一本maven书 Maven实战 完整高清版

    《Maven实战》完整高清版.pdf

    《Maven实战》徐晓斌 完整高清版.pdf

    Maven实战].许晓斌.高清PDF扫描版.

    Maven实战].许晓斌.高清PDF扫描版.

    Maven实战(高清完整带书签).pdf

    Maven实战(高清完整带书签).pdf

    《Maven实战》源代码

    《Maven实战》一书是Java开发者深入了解和掌握Maven构建工具的重要参考资料。该书的源代码涵盖了多个章节,包括ch-17、ch-3、ch-7、ch-8、ch-5、ch-10、ch-18和ch-12等,这些章节的内容广泛且深入,涉及了Maven的...

Global site tag (gtag.js) - Google Analytics