《Java極限編程》(Java Tool for Extreme Programming)讀書筆記 (4)

來源:互聯網
上載者:User
筆記|編程
第四章 使用Ant進行持續整合這一章是對Ant的一個基礎介紹,包括1.Ant構建檔案 build.xml2.項目 <project name="myproject" default="all" basedir=".">3.目標 <target name="all" depends="clean, fetch, build, test, docs, deploy">Steve Loughran的Ant in Anger中top-level targets的推薦命名如下:  test— 運行JUnit測試  clean— 清空輸出目錄  deploy— 將JARs, WARs等檔案部署到執行環境中  publish— 輸出原始碼和二進位檔案到發布網站(指IIS,HTML?我不知道)  fetch— 從CVS中得到最新原始碼  docs/javadocs— 輸出文檔檔案  all— 執行以上所有(clean, fetch, build, test, docs, and deploy)  main— 預設構建過程 (經常是build 或者build & test)internal targets的推薦命名如下:  init— 初始化properties執行其他初始化任務,讀入property檔案  init-debug— 初始化調試屬性  init-release— 初始化發布屬性  compile— 實際的編譯  link/jar— 建立JAR檔案或其它等價檔案  staging— 預部署並且測試4.條件性目標<target name="setupProdution" if="production">   <target name="setupDevelopment" unless="production">  ant -build.xml build4.xml -Dproduction=true5.檔案集和路徑設定<project name="hello" default="compile">    <property name="lib" value="../lib"/>    <property name="outputdir" value="/tmp"/>        <path id="1">        <pathelement location="."/>        <pathelement location="${lib}/log4j.jar"/>    </path>        <path id="2">        <pathelement path=".;${lib}/log4j.jar"/>    </path>        <path id="3">        <pathelement location="."/>        <fileset dir="${lib}">            <include name="**/*.jar"/>        </fileset>    </path>        <target name="compile">        <javac srcdir="./src" destdir="${outputdir}/classes">            <classpath refid="1"/>        </javac>                <javac srcdir="./src" destdir="${outputdir}/classes">            <classpath refid="2"/>        </javac>                <javac srcdir="./src" destdir="${outputdir}/classes">            <classpath refid="3"/>        </javac>                <javac srcdir="./src" destdir="${outputdir}/classes">            <classpath id="1">                <pathelement location="."/>                <pathelement location="${lib}/log4j.jar"/>            </classpath>        </javac>    </target></project>6.過濾器<filter token="jdbc_url" value="jdbc::development">7.嵌套構建檔案<ant antfile="./hello/build.xml">    <property name="production value="true"" /></ant>8.property<property name="outputdir" value="/tmp" />

總體來看ant是一個強大的自動化構建工具,代碼編寫完後的工作都可以交給ant來完成。這使nightly build成為可能,使用ant,甚至可以運行完測試代碼之後將結果產生HTML,然後發email給開發人員,這樣開發人員就能在第二天早上看到build失敗的原因了,這樣開發人員第二天進能快速知道今天的第一件事是什麼,快速的進入一天八小時的工作狀態了。這一點和kent beck的《測試驅動開發》(中文版)中的某些觀點類似,即一天8小時的工作之後,不要急著加班將手頭的工作做完才回家,而是做到哪兒是哪兒,這樣第二天來的時候能快速的進入工作狀態,而不是從頭想,昨天做了哪些,今天應該開始做哪些。(晚上電腦不用關機,可以只關掉螢幕、鎖上鍵盤,或者將電腦設為休眠狀態,也能很大程度上讓第二天的"進入狀態"的過程更短)

對了,不知道有沒有IDE能在我寫Ant的build.xml檔案的時候提供方便,最好是圖形介面,不用我對著枯燥的文字編輯器。這點以前netBeans的properties檔案編輯器就不錯,能同時編輯幾個不同語言的properties檔案。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.