1. 程式人生 > >在Eclipse裡實現Ant自動編譯

在Eclipse裡實現Ant自動編譯

許多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裡工作一樣棒!