Ant學習

      以前一直使用IDE來進行構建。最近對代碼進行大規模得重構,對重構後得代碼很不放心,想跑跑單元測試。看了一眼測試用例。太多了,就是分包運行也要10來次才能跑完,纔想起了ANT得好處。
       不得不承認,ANT得JUnit任務確實讓我眼前一亮。生成得測試報告相當得漂亮。決定嘗試把項目文件遷移到ANT上試試。
       遇到問題:
(1)最大的問題,如何設計項目目錄結構。當工程很大時,往往牽扯到多個子工程,多種文件格式。如何放置這些文件往往很頭痛。
(2)如何定義任務。工程稍大時,牽扯技術較多時,往往存在很多任務。除去常用的compile,deploy,clean,jar,init等,還存在備份,代碼自動生成等。當你某個任務較爲複雜時或者需要進行任務重用的時候,還需要對任務進行分解成多個小任務。動輒一二十個任務。看着頭就大。
         目前,開源項目中的build.xml文件也存在這一問題。稍微可以緩解這一問題的方法。在多個子目錄中使用子文件。不過,一些特殊的任務,還是很難處理。如代碼生成。
(3)考慮到靈活性,文件中變量相當的多,都是全局的。看着相當不爽,寫的時候也很麻煩,老是要想一想。Ant的best practice中,推薦使用taskname.classpath的設置方法。實踐中,一定程度上緩解了這一問題。
     總結:
         在寫構建文件前,必須對工程目錄,任務有一個較爲明確的想法。否則,邊寫邊改,最後的構建文件簡直沒法看。自己都不知道構建任務有沒有按照我們所想的去做。
        對大型工程,一定要分子工程,分別進行構建。避免形成超長的構建文件。
        對某些特殊的任務,如初始化生成目錄結構,自動化代碼生成。往往只使用一次,且對目錄結構有着破壞性的影響。建議單獨寫一個構建文件。單獨運行。主構建文件儘量通用化。提高重用性。
      

寫成一個好的構建文件還是有一定難度的,如果可以上網的話,maven也還是不錯的選擇。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章