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 給出一個構建文件的總體名稱,并且標識一個基礎目錄和缺省目標。當Ant 裝入文件時,目標會首先鎖定它的調用。要使用不同的目標,改變這個缺省設置并存儲文件,或者在命令行中覆蓋它。缺省基準目錄設置為build.xml 的當前目錄。腳本的其他部分這是 WEB-INF 文件夾,并且要在這個基礎目錄的子目錄下查找源代碼。這個塊中還有一些屬性要設置,以備后用。要讓這個文件用于另一個應用,你可以只修改這些屬性,而讓剩下的其他屬性保持原樣。

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

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

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

          5 compile 目標首先調用prepare resources 目標,然后開始構建源文件。Jikes [Jikes]或者標準的javac 編譯器都可以使用。

          6 clean 目標通過刪除和恢復類文件夾來確保所有的東西都重新構建。

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

          8 dist 目標為應用創(chuàng)建一個Web 歸檔( WAR ) 文件。這個文件可以用來在你的生產服務器

          上部署你的應用。

          9 project 目標將全部構建所有東西,并準備一個二進制的分發(fā)包。關于Ant 得更多信息,我們強烈推薦你閱讀Java Development with Ant[Hatcher] 。

           

          posted on 2006-09-04 16:47 周銳 閱讀(2188) 評論(2)  編輯  收藏 所屬分類: Ant
          主站蜘蛛池模板: 云梦县| 西乌| 黔东| 宁明县| 周至县| 漠河县| 河西区| 宜良县| 永昌县| 科技| 岳西县| 揭东县| 津市市| 西藏| 志丹县| 鲁甸县| 云阳县| 宜章县| 常宁市| 达拉特旗| 南阳市| 顺昌县| 敦化市| 清河县| 长春市| 剑川县| 江北区| 广宗县| 高安市| 德钦县| 深州市| 合山市| 达日县| 普兰店市| 贵港市| 边坝县| 宣汉县| 清水河县| 尉氏县| 宜丰县| 青冈县|