[doc] 認識ant buildfile的基本結構

看板java作者時間19年前 (2006/04/08 09:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/2 (看更多)
*** 注意 *** 本篇只描述buildfile基本架構以及少許的task:) 若想學用ant編譯project的人會失望呦XD ANT 是什麼,相信寫java的各位看倌,沒吃過ant也看過ant走路唄:p 所以就不多做介紹了。總之,要讓他們動起來為我們服務,除了要會安裝 之外! 至少還要會寫buildfile。buildfile 預設的名稱是build.xml。如果你 執行ant 的時候什麼都不打上,就等於 % ant build.xml [第一個buildfile] 學習ant 的門檻不在於ant 安不安得上您的機器,而是看了網路上一堆又一 堆的手冊,還對buildfile 的寫法很fuzzy:)下面我們就先看一個最簡單又 什麼都不做的buildfile該長成什麼樣子。 =====================================================[code start]= <?xml version="1.0" encoding="utf-8" ?> <project> </project> =[code end]======================================================= 這就是buildfile 內至少應包含的內容。我們寫了這個的buildfile 卻什麼都 沒有交待。但最整體的outline理解是有幫助的^^ 接著我們來看一下project tag能填寫什麼屬性: http://ant.apache.org/manual/using.html#projects 如網頁上所列的,可以用的有: 設定專案名稱用的name屬性、設定預設目標 (target)用的default屬性、設定專案基準目錄的basedir屬性。 =====================================================[code start]= <?xml version="1.0" encoding="utf-8" ?> <project name="nice" basedir="."> </project> % ant Buildfile: build.xml BUILD SUCCESSFUL Total time: 0 seconds =[code end]======================================================= 執行之後,依然什麼都沒發生。沒有編譯,沒有錯誤。繼續學習寫target 不然我們永遠只能看著BUILD SUCCESSFUL卻也什麼都沒有xd 當然,我們需 待編譯的java檔請把他放在basedir,由之前的設定,我們應該與buildfile 放在同一個目錄:) 先預告一下,即使寫完了target咱們還是什麼都不做的:) target只是工作 大略方向(設定此target的basedir、設定此target與那一家的target有相 依的關係、設定此target的描述內容)。而真正在描述工作的細節的是 target的children element(也就是傳說中的task)。 task: http://ant.apache.org/manual/coretasklist.html (所有內建的task) =====================================================[code start]= <?xml version="1.0" encoding="utf-8" ?> <project name="nice" basedir="."> <target name="i-need-kitty" description="just get me a hello kitty" /> <echo>Kitty Kitty</echo> </project> =[code end]======================================================= 修改完了之後,您依然可以得到一個BUILD SUCCESSFUL。也許您會問: 這有 什麼意義呢? 這是有意義的,不過你得換一個方式執行。 =====================================================[code start]= % ant -projecthelp Buildfile: build.xml [echo] Kitty Kitty Main targets: i-need-kitty just get me a hello kitty =[code end]======================================================= 如您所見,這些設定可以方便地透過ant 產生help內容:) -- 夫兵者不祥之器物或惡之故有道者不處君子居則貴左用兵則貴右兵者不祥之器非君子 之器不得已而用之恬淡為上勝而不美而美之者是樂殺人夫樂殺人者則不可得志於天下 矣吉事尚左凶事尚右偏將軍居左上將軍居右言以喪禮處之殺人之眾以哀悲泣之戰勝以 喪禮處之道常無名樸雖小天下莫能臣侯王若能守之萬物將自賓天地相合以降甘露民莫 之令而自均始制有名名亦既有夫亦將知止知止可以 pc210-59-94-148.nutn.edu.tw
文章代碼(AID): #14DmjF00 (java)
文章代碼(AID): #14DmjF00 (java)