关键词: 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:
<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-apache-oro.jar", "ant-apache-regexp.jar", 和 "ant-apache-resolver.jar" 是三个与Apache Ant相关的Java库文件。Apache Ant是一个由Apache软件基金会开发的Java构建工具,它广泛用于自动化Java项目的...
1. **手动添加**:将jar包复制到项目的类路径(classpath)下,例如`lib`目录,然后在构建脚本(如Ant或Maven)中配置相应的库路径。 2. **Maven依赖**:如果项目使用Maven构建,可以在`pom.xml`文件中添加如下依赖...
Ant是Java生态系统中的重要组成部分,它的设计目标是替代传统的Make工具,提供跨平台的构建解决方案。 在“apache-ant-1.9.9-bin.tar.gz”压缩包中,包含了Apache Ant 1.9.9版本的所有必要文件,这是针对Linux系统...
Ant是Apache软件基金会的一个开源项目,它是一个基于Java的构建工具,类似于Unix的make,但更面向Java环境。标题中的"ant-1.5.1.jar.zip"指的是Ant 1.5.1版本的库文件,它已经被压缩为ZIP格式,方便用户下载和使用。...
在实际使用中,Ant 1.5.jar可以通过Java的-classpath或-cp参数添加到JVM中,然后通过`java org.apache.tools.ant.Main`命令启动Ant。而构建过程则由`ant`命令触发,根据build.xml文件进行。 此外,Ant 1.5还支持...
Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,类似于Unix的Make,但更符合Java的特性。JavaMail则是用于处理电子邮件的Java API,提供了丰富的功能,可以方便地进行邮件发送、接收及管理。本文将...
- **任务(Tasks)**:Ant的核心,如`javac`用于编译Java源码,`jar`用于打包JAR,`copy`用于文件复制等。 **3. 使用Ant-1.6.5** - **安装**:解压`apache-ant-1.6.5-bin`压缩包到合适的位置,设置环境变量`ANT_...
Ant不仅支持Java项目,也可以处理其他语言的构建任务,是Java世界中替代Make的强大工具。它允许跨平台的构建,并且可以与各种版本控制系统和构建生命周期工具集成。 2. **wsdl4j-1.5.1.jar**:WSDL4J是Web Services...
标题中的"ant-zip-1.7.1.jar.zip"是一个压缩文件,它包含了名为"ant-zip-1.7.1.jar"的Java档案(JAR)文件以及"ant.license.txt"的许可文件。这个JAR文件是Apache Ant项目的一部分,用于处理ZIP归档操作。 Apache ...
Ant是一种基于Java的build工具。理论上来说,它有些类似于(Unix)C中的make ,但没有make的缺陷。
Ant是Apache软件基金会的一个项目,它是一个基于Java的构建工具,类似于Make,但它是用Java语言编写,并且更适用于Java环境。Eclipse是一个广泛使用的开源集成开发环境(IDE),它支持多种编程语言,包括Java。 在...
Ant是Java世界中最常用的构建工具之一,类似于其他语言中的Make或Gradle。 **ant-launcher** 是Apache Ant项目的一部分,它提供了启动Ant的基础设施。`ant-launcher.jar`文件是运行Ant命令行工具所必需的。它包含了...
在Java开发环境中,Apache Ant是一个广泛应用的自动化构建工具,它类似于Make,但基于Java,遵循XML规范,提供了跨平台的构建脚本。Ant Contrib是针对Ant的一个扩展库,为Ant任务提供了额外的功能和便利。"ant-...
在Java项目中,Ant通常作为构建脚本的工具,类似于其他语言中的Make或Gradle。 "ant-jme.jar"是Ant的一个特定版本或模块,专为Java Micro Edition (JME)定制。JME,以前被称为Java 2 Micro Edition,是Java平台的一...
Apache Ant是一个基于Java的构建工具,其设计目标是替代Make或其他类似的构建工具,以实现跨平台的项目构建。Ant通过XML定义构建过程,使得构建脚本易于理解和维护。而Jakarta Regexp是Apache软件基金会的一个项目,...
标题中的"ant-contrib-1.0b1.jar.zip"是一个包含特定版本(1.0b1)的"ant-contrib"库的压缩文件,其格式为ZIP,并且内部包含了一个JAR(Java Archive)文件。"ant-contrib"是Apache Ant的一个扩展库,提供了额外的...
《Ant与JUnit结合:深入解析ant-junit-1.6.5.jar.zip》 在Java开发领域,Ant和JUnit是两个不可或缺的工具。Ant是一种基于Java的构建工具,用于自动化项目构建过程,如编译、打包、测试等任务。JUnit则是Java编程...
总之,Apache Ant的`ant-1.6.5.jar`版本是用于自动化Java项目构建的重要工具,它可以创建JAR和ZIP文件。当遇到问题如“为什么资源分不能选0”时,应检查Ant的任务配置和文档,以了解可能的限制或要求。理解Ant的XML...
至于`ant.jar`,它是Apache Ant的运行时库,Ant是一个基于Java的构建工具,类似于Unix的make,但依赖于XML来描述构建过程。虽然在描述中没有直接提及Ant,但有可能是在构建或部署过程中用到的,用于自动化PDF生成和...