javamake.jar & javamake-ant15.jar

关键词: 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文件)编译。
详细见英文原文:[url]http://www.experimentalstuff.com/Technologies/JavaMake/javamake.html[/url]

1.如果不知道怎么编写支持增量编译的build.xml,请参考以下网址:
[url]http://www.experimentalstuff.com/Technologies/JavaMake/ant.html[/url]
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.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值