http://skyanhf.blog.163.com/blog/static/1375845922010132233079/
用Eclipse Compiler編譯Java項目
2010-02-03 14:23:30| 分類: tech | 標籤:ant automation eclipse java |字號大中小 訂閱
我們經常使用ant來編譯我們的Eclipse項目,但有時ant中javac任務往往只能編譯一部分代碼。當代碼有編譯錯誤時,ant就停止編譯,不再繼續編譯剩下的代碼。這種方式給一些單元測試或者腳本類的工程帶來了麻煩,因爲這類工程中的錯誤往往只是一個腳本的語法問題,並不影響其他腳本。所以這類工程希望儘可能多的編譯全部代碼,而不是因爲一個編譯錯誤而停止。
但我們在Eclipse裏面編譯工程時,卻沒有這樣的問題,Eclipse將會把所有的代碼都編譯一遍,最後顯示所有的錯誤。這是因爲這時編譯的是Eclipse自己實現的Java編譯器。我們可以利用Eclipse自帶的編譯器,改進我們的ant腳本。
實現起來很簡單:
1. 在ant腳本中加入一行:
<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
如果javac任務中有這麼一行,則刪之:
compiler="javac1.5"
2. 下載ecj.jar,可以從http://download.eclipse.org/eclipse/downloads/下載,選擇eclipse的版本號,然後在"JDT Core Batch Compiler"這個類別中就可以下載對應版本的ecj.jar了。
3. 運行ant命令,加上如下參數:
ant -f build.xml -lib ecj.jar
4. 如果遇到OutOfMemory的錯誤在編譯過程中,則加上如下的環境變量:
set ANT_OPTS=-Xmx1024m