`

【转载】ant中使用javamake

 
阅读更多
前一阵子找这两个jar包,baidu来google去,不容易。
发现有些童鞋需要,拿出来共享一下,同时也让搜索引擎快照下。
使用ant版本为1.5(+)。

Ant本身也支持增量编译,不过有两个问题它没有解决好:1、当修改了一个类的时候,与此类有依赖关系的类不会被重新编译,ant只编译了这个修改过的类。2、全局常量类的修改,ant无法定位。  说白了,这两个问题是一个性质的。结果是,开发人员每次编译时都要clean,再compile,cope…导致编译时间过长,每次修改调试都要等待。
   使用第三方的支持javamake,可以解决上述问题。原理是:第一次编译时,javamake把所有class文件的时间戳记录到数据库(一个pdb文件)中,并记录了所有的依赖关系(继承、实现、调用…);之后再编译时,javamake首先到数据库中检查source文件和class文件的时间戳是否一致,不一致的话,将source文件及其依赖关系(别的source文件)编译。
详细见英文原文:http://www.experimentalstuff.com/Technologies/JavaMake/javamake.html

1.如果不知道怎么编写支持增量编译的build.xml,请参考以下网址:
http://www.experimentalstuff.com/Technologies/JavaMake/ant.html
2.如果init中有clean,应该去掉clean,不然javamake的威力没法释放了。
   我是在init中定义一个task:

Java代码 
1.<taskdef name="javamake" classname="com.sun.tools.javamake.ant.JavaMake">  
2.      <classpath>  
3.           <pathelement location="${classpath.dir}/javamake-ant15.jar"/>  
4.      </classpath>  
5.      <classpath>  
6.           <pathelement location="${classpath.dir}/javamake.jar"/>  
7.      </classpath>  
8.</taskdef> 
<taskdef name="javamake" classname="com.sun.tools.javamake.ant.JavaMake">
      <classpath>
           <pathelement location="${classpath.dir}/javamake-ant15.jar"/>
      </classpath>
      <classpath>
           <pathelement location="${classpath.dir}/javamake.jar"/>
      </classpath>
</taskdef>

3.如果在<javamake ... />中设置了verbose="true",那么可以看到每次修改源文件再编译时,javamake具体做了哪些“地下工作”。

[END]:我使用增量编译后,每次等待时间是原来的1/4左右,depending.
分享到:
评论

相关推荐

    使用Ant进行java开发

    虽然现代Java开发中,如Maven和Gradle等构建工具的流行度已经超越了Ant,但Ant由于其历史的悠久和简单易学的特点,仍然在一些项目和团队中保持着活跃地位。因此,掌握Ant对Java开发者来说,仍然是一个十分有帮助的...

    如何使用ANT开发Java程序

    ### 如何使用ANT开发Java程序 #### 一、前言 Apache Ant 是一款开源的Java构建工具,用于自动化软件构建过程中的编译、测试、部署等任务。它使用XML格式来定义构建规则,并通过一系列预定义的任务来执行这些规则。...

    ant编译java工程

    标题 "ant编译java工程" 涉及到的是使用Apache Ant工具来构建Java应用程序的过程。Apache Ant是一个基于XML的构建工具,它允许开发者通过声明式的方式定义项目构建任务,而不是采用程序化的方式。在Java开发中,Ant...

    JAVA_Ant详细介绍与应用

    在本文中,主要让读者熟悉怎样将Ant应用到Java项目中,让它简化构建和部署操作。 一.安装与配置 二.Ant的关键元素 三.Ant的常用任务 四.利用Ant构建和部署Java工程 1.利用Ant的javac任务来编译java程序 2.使用...

    Java 代码调用ANT

    这一步骤将构建脚本文件的内容解析成一系列可以在 Java 代码中使用的任务。 4. **执行目标任务**:最后,通过调用 `executeTarget` 方法执行指定的目标任务。 #### 四、具体实现步骤 接下来,我们将通过一个示例...

    ant java ant

    而Ant作为Java生态系统中的一个经典构建工具,自诞生以来就备受开发者青睐。本篇文章将深入探讨Ant的原理、使用方法以及与Java的紧密关系。 Ant是由Apache软件基金会开发的一款开源构建工具,主要用于Java项目的...

    ant-javacard-master_antjava_Will_

    【标题】"ant-javacard-master_antjava_Will_" 暗示了这是一个与Java Card开发相关的项目,使用Apache Ant作为构建工具。Java Card是一种在智能卡或类似的微控制器设备上运行Java应用程序的技术,而Ant是Apache软件...

    ant调用java类

    本文将详细解释如何使用 Ant 脚本来调用 Java 类,并结合提供的文件内容进行解析。 首先,我们需要了解 Ant 的 `&lt;java&gt;` 标签,这是 Ant 调用 Java 类的主要方式。在提供的 `testset_build.xml` 文件中,`&lt;java&gt;` ...

    ant.rar java的架包ant

    《Ant——Java开发中的构建工具》 Ant是Java开发领域中的一款强大且广泛应用的构建工具,它由Apache软件基金会开发并维护。Ant以其XML为基础的构建文件(build.xml)著称,该文件定义了项目的构建过程,包括编译、...

    java ant集成1.9.5版本

    在"java ant集成1.9.5版本"中,我们主要讨论的是如何将Apache Ant 1.9.5集成到Java开发环境中。 Apache Ant 1.9.5是该工具的一个稳定版本,发布于2015年,提供了许多改进和修复。这个版本包含了以下关键组件: 1. ...

    Ant1.9.14 基于Java的生成工具

    这意味着它具有较少的已知问题,适合在生产环境中使用。这个版本包含了二进制文件,这些文件是Ant的可执行程序,可以直接在Java环境中运行。同时,也提供了源文件,这为开发者提供了深入学习Ant工作原理的机会,或者...

    ant 打包 java project 为ant

    标题中的“ant打包java project为jar”指的是使用Apache Ant工具将Java项目打包成JAR(Java Archive)文件的过程。Ant是Java开发中的一个构建工具,它以XML格式定义任务,可以自动化编译、测试、打包等流程。在这个...

    Ant工具的使用及Ant介绍

    跨平台 --因为ant是使用java实现的,所以它跨平台 使用简单--与ant的兄弟make比起来 语法清晰--同样是和make相比 功能强大--ant能做的事情很多,可能你用了很久,你仍然不知道它能有多少功能。当你自己开发一些ant...

    Ant构建中使用JS脚本方法

    这篇名为"Ant构建中使用JS脚本方法"的博客文章,可能是详细介绍了如何在Ant的构建脚本中集成JavaScript,以提高构建过程的灵活性和效率。 首先,让我们了解Ant的基本结构。Ant是基于XML的,它的主要构建文件是`...

    ant工具使用指南ant工具使用指南

    Ant是一个开源的Java构建工具,其设计灵感来源于Unix的Make工具。它通过XML配置文件(通常名为build.xml)来定义任务和目标,使得构建过程可配置且可重复。Ant不需要专门的IDE支持,可以在任何有Java环境的地方运行...

    ant使用,java自动化工具

    Ant是Apache软件基金会下的一个Java项目,它是一个构建工具,类似于Make,但它是基于Java的。Ant使用XML来描述构建过程和依赖关系,使得构建过程跨平台且易于管理。在Java开发中,Ant广泛用于编译、打包、测试、部署...

    介绍了java中ant的使用方法与技巧,

    java ant use 介绍了java中ant的使用方法与技巧,

    Java Ant 互相调用

    Java Ant 互相调用是一个常见的开发场景,尤其是在大型项目中,需要使用Ant工具进行构建、编译、测试等任务。Ant是Apache组织提供的一款强大的Java项目构建工具,它使用XML来描述构建过程,使得构建脚本具有良好的...

    ant 安装包 , java打包工具

    压缩包内容 apache-ant-1.9.15-bin 低版本JDK支持 , JDK1.5-1.7 apache-ant-1.10.8-bin 高版本JDK支持 , JDK1.8+ ant-contrib-1.0b3-bin 补丁包,批量执行等用到,解压后将jar拷贝到ant的lib中即可

Global site tag (gtag.js) - Google Analytics