许多NetBeans的用户常为自己IDE里编译系统的优点而骄傲不已,因为这个优点是Eclipse所不具备的。NetBeans里的编译系统完全基于Ant。每一个项目都有一个编译文件,不论是NetBeans自动创建的,还是开发人员手动创建的。和Eclipse与IntelliJ不同的是,NetBeans与Ant的集成完全是无缝的。当然这是优点也是缺点,重点并不在于它带给开发人员的好处,而在于大多数NetBeans用户和许多Eclipse开发人员认为在Eclipse进行类似的集成是不可能的事情。切~~

Eclipse对标准的项目编译器支持已久。AspectJ插件就是其中的一例,在Eclipse里,AspectJ覆盖了默认的Java编译器,而用AspectJ编译器取而代之。另外也可以基于外部的程序比如jikes或者定制的编译器,甚至Ant等手动配置一个项目编译器。简便起见,我以Fuse项目为例来说明这一问题。这个例子只在Eclipse 3.2 M5中适用,对于早于3.2 M5的版本,Eclipse不能集成第三方编译器的结果,解析源代码时会报错,自动显示ClassNotFound的编译错误。

下面来解释一下如何在Eclipse中配置Ant。第一步是在Builders部分打开项目属性,选择New按钮,然后在弹出的对话框中选择Ant Build。

 在Name字段里输入你想给编译器起的名称,这里起的是“Fuse Ant Builder”。用Browse Workspace按钮选择编译文件和项目根目录(或者任何你希望ant文件运行的目录)。然后选择Targets标签。

 也许你想在ant脚本里配置Clean和Build对象。一般情况下我们称之谓clean和build。Clean可以帮你清除二进制文件并重新编译项目,而Build则可以帮助你编译系统。确认已经从默认的编译对象列表里清除了默认的编译对象,除非默认的ant编译对象就是clean和target。一旦完成配置,选择OK。

现在Eclipse会返回到项目属性框的编译器部分。确认列表里没有选中Java Builder。选择OK提交修改的部分。

 

现在我们就完成了一个完成的基于Ant的项目,没有任何Eclipse编译参与。所有的Ant输出结果都会呈现在Console里,就像一个普通的Ant编译器一样。注意,Compile-On-Save,Eclipse里一个很棒的特性在Ant编译器里是没有的。修改文件后,我没有感觉到任何编译速度不爽的问题。和在NetBeans里工作一样棒!