posts - 431,  comments - 344,  trackbacks - 0

          <! —①-->

          <project name="logon basedir=" ." deafult="dist">

               <property name="project.title" value="Logon" />

               <property name="project.version" value="1.2" />

               <property name="dist.name" value="logon" />

               <! —②-->

               <path id="project.class.path">

                    <pathelement path="lib/struts.jar" />

                    <pathelement path="./classes/" />

                    <pathelement path="${classpath}" />

          </path>

               <! —③ -->

               <target name="prepare">

                    <tstamp />

          </target>

               <! —④-->

               <target name="resources">

                   <copy todir="classes" includeEmptyDirs="no">

                        <fileset dir="src/resources">

                             <patternset>

                                  <include name="**/*.properties" />

                             </patternset>

                        </fileset>

                    </copy>

          </target>

               <! —⑤-->

               <target name="compile" depends="prepare,resources">

                   <!-- property name="build.compiler" value="jikes"/ -->

                   <javac srcdir="src" destdir="classes">

                        <classpath refid="project.class.path" />

                    </javac>

          </target>

               <! —⑥-->

               <target name="clean" description="Prepare for clean build">

                    <delete dir="classes" />

                   <mkdir dir="classes" />

          </target>

               <! —⑦-->

               <target name="javadoc" description="Generate JavaDoc API docs">

                    <delete dir="./doc/api" />

                   <mkdir dir="./doc/api" />

                    <javadoc sourcepath="./src/java" destdir="./doc/api" classpath="lib/struts.jar:" packagenames="app.*" author="true" private="true" version="true" windowtitle=" API Documentation" doctitle="&lt;h1&gt;${project.title}Documentation

          (Version${project.version})&lt;/h1&gt;" bottom="Copyright &#169; 2002" />

          </target>

               <! —⑧-->

               <target name="dist" description="createe binary distribution">

                    <delete dir="./dist" />

                   <mkdir dir="./dist" />

                   <war warfile="./dist/${dist.name}.war" webxml="../WEB-INF/web.xml" manifest="../META-INF/MANIFEST.MF" basedir="../" excludes="WEB-INF/dist,WEB-INF/web.xml,

          META-INF/MANIFEST.MF" />

          </target>

               <! —⑨-->

               <target name="project" depends="clean,prepare,compile,javadoc,dist"/>

          </project>

          1 project 給出一個(gè)構(gòu)建文件的總體名稱,并且標(biāo)識一個(gè)基礎(chǔ)目錄和缺省目標(biāo)。當(dāng)Ant 裝入文件時(shí),目標(biāo)會首先鎖定它的調(diào)用。要使用不同的目標(biāo),改變這個(gè)缺省設(shè)置并存儲文件,或者在命令行中覆蓋它。缺省基準(zhǔn)目錄設(shè)置為build.xml 的當(dāng)前目錄。腳本的其他部分這是 WEB-INF 文件夾,并且要在這個(gè)基礎(chǔ)目錄的子目錄下查找源代碼。這個(gè)塊中還有一些屬性要設(shè)置,以備后用。要讓這個(gè)文件用于另一個(gè)應(yīng)用,你可以只修改這些屬性,而讓剩下的其他屬性保持原樣。

          2 path 塊建立了Ant 構(gòu)建應(yīng)用是要使用的classpath。它每次都會執(zhí)行而不管是選擇哪一個(gè)目標(biāo)。通常,這是一個(gè)WEB-INF/lib 文件夾中的JAR 的清單。

          3 prepare 幫助Ant 通過比較類文件和源文件的時(shí)間戳來最小化編譯工作。

          4 resources 目標(biāo)從源代碼樹中拷貝一些屬性文件 (java.util.Properties) 到classes 樹。這樣你可以保持原始的屬性文件和文件源代碼中的保持一致。

          5 compile 目標(biāo)首先調(diào)用prepare resources 目標(biāo),然后開始構(gòu)建源文件。Jikes [Jikes]或者標(biāo)準(zhǔn)的javac 編譯器都可以使用。

          6 clean 目標(biāo)通過刪除和恢復(fù)類文件夾來確保所有的東西都重新構(gòu)建。

          7 javadoc 目標(biāo)為應(yīng)用構(gòu)建JavaDoc。通常,你需要象標(biāo)明項(xiàng)目的classpath 一樣為JavaDoc classpath 標(biāo)明相同的 JAR 路徑。注意,這是一個(gè)冒號分隔的列表。JavaDoc 編譯器會發(fā)出警告,但會繼續(xù)為它能找到的類產(chǎn)生文檔。

          8 dist 目標(biāo)為應(yīng)用創(chuàng)建一個(gè)Web 歸檔( WAR ) 文件。這個(gè)文件可以用來在你的生產(chǎn)服務(wù)器

          上部署你的應(yīng)用。

          9 project 目標(biāo)將全部構(gòu)建所有東西,并準(zhǔn)備一個(gè)二進(jìn)制的分發(fā)包。關(guān)于Ant 得更多信息,我們強(qiáng)烈推薦你閱讀Java Development with Ant[Hatcher] 。

           

          posted on 2006-09-04 16:47 周銳 閱讀(2191) 評論(2)  編輯  收藏 所屬分類: Ant
          主站蜘蛛池模板: 莱阳市| 青神县| 庆安县| 双柏县| 伊宁市| 烟台市| 霍林郭勒市| 曲阜市| 泰来县| 旺苍县| 伊金霍洛旗| 佛教| 苏尼特右旗| 康乐县| 锡林浩特市| 古交市| 宁海县| 九台市| 大丰市| 左权县| 清徐县| 四会市| 大冶市| 平遥县| 望谟县| 阜南县| 石河子市| 崇信县| 安乡县| 西乌珠穆沁旗| 东海县| 家居| 田林县| 吉木萨尔县| 石楼县| 平舆县| 垫江县| 旬阳县| 炉霍县| 丁青县| 正安县|