posts - 325,  comments - 25,  trackbacks - 0

          本文通過一個(gè)示例來解說如何通過ant進(jìn)行編譯和發(fā)布項(xiàng)目。
          本例按如下目錄結(jié)構(gòu)來組織項(xiàng)目。
          D:/web/antsample項(xiàng)目根目錄
          D:/web/antsample/src源代碼目錄
          D:/web/antsample/src/sample/HelloWorld.java示例HelloWorld代碼文件
          D:/web/antsample/app應(yīng)用程序目錄
          D:/web/antsample/app/index.jsp默認(rèn)首頁(yè)文件
          D:/web/antsample/app/WEB-INF
          D:/web/antsample/app/WEB-INF/web.xml應(yīng)用程序描述文件
          D:/web/antsample/app/WEB-INF/lib應(yīng)用程序庫(kù)目錄
          D:/web/antsample/context.xml應(yīng)用程序環(huán)境配置文件,數(shù)據(jù)源、應(yīng)用程序路徑(path)、文檔路徑(docBase)等信息在此配置。
          D:/web/antsample/build.xml
          build.xml 文件內(nèi)容
          <?xml version="1.0" encoding="UTF-8"?>
          <project name="antsample" default="jar" basedir=".">
           <property environment="env"/>
           <echo message="Ant 版本 ${ant.java.version}"/> 
           <property name="tomcat.home" value="/home/xiaojf/tomcat6"/> <!-- tomcat目錄 -->
           <property name="web.home" value="./app"/> <!-- 應(yīng)用程序目錄 -->
           <property name="src.home" value="./src"/> <!-- java源文件目錄 -->
           <property name="jarFile" value="${web.home}/WEB-INF/lib/${ant.project.name}.jar"/> <!-- jar文件位置 -->
           <property name="warFile" value="./${ant.project.name}.war"/> <!-- war文件位置 -->
           <property name="srcDeployFile" value="./context.xml"/> <!-- 源部署文件 -->
           <property name="distDeployFile" value="${tomcat.home}/conf/Catalina/localhost/${ant.project.name}.xml"/> <!-- 源部署文件 -->
           <property name="jdk1.5" value="/usr/lib/jvm/jdk1.5/bin/javac"/> <!-- 設(shè)置jdk1.5編譯器的全路徑 -->
           <property name="jdk1.6" value="/usr/lib/jvm/jdk1.6/bin/javac"/> <!-- 設(shè)置jdk1.6編譯器的全路徑 -->
           <property name="javaCompiler" value="${jdk1.6}"/> <!-- 編譯時(shí)使用的javac -->
           <!-- 設(shè)置 classpath,即編譯時(shí)需要引用的庫(kù)文件 -->
           <path id="classpath">
           <fileset dir="${web.home}/WEB-INF/lib"> <!-- 引用應(yīng)用程序WEB-INF/lib下的所有jar -->
              <include name="**/*.jar"/>
           </fileset>
           <fileset dir="${tomcat.home}/lib"> <!-- 引用Tomcat/lib下的所有jar -->
              <include name="**/*.jar"/>
           </fileset>
             </path>
           <!-- 清除已經(jīng)生成的class文件 -->
             <target name="clean">
           <delete>
           <fileset dir="${src.home}" includes="**/*.class"/>
           </delete>
             </target>
           <!-- 編譯src.home下的所有java文件。fork被設(shè)置為true,這樣可指定編譯使用的JDK,此處使用jdk1.5。必須根據(jù)java源文件的編碼來設(shè)置encoding。 -->
             <target name="compile" depends="clean">
           <javac srcdir="${src.home}"
             debug="on"
             deprecation="on"
             optimize="off"
             includes="**"
             includeantruntime="on"
             encoding="UTF-8"
             fork="yes"
             executable="${javaCompiler}"
             >
             <classpath refid="classpath"/>
             <compilerarg value="-Xlint:unchecked"/>
           </javac>
             </target>
           
           <!-- 打包,并將jar放置在應(yīng)用程序WEB-INF/lib下。 -->
           <target name="jar" depends="compile">
           <jar destfile="${jarFile}"
           basedir="${src.home}"
           includes="**/*.class **/*.xml"/>
           </target>
           
           <target name="war" depends="jar">
           <war destfile="${warFile}"
           basedir="${web.home}"/>
           </target>
           
           <!-- 布置應(yīng)用程序到Tomcat -->
           <target name="deploy">
           <copy file="${srcDeployFile}" tofile="${distDeployFile}"/>
           </target>
           <!-- 從Tomcat上卸載應(yīng)用程序 -->
           <target name="undeploy">
           <delete file="${distDeployFile}"/>
           </target>
          </project>
           
          運(yùn)行本例,您必須修改build.xml中tomcat目錄的全路徑和context.xml中的相應(yīng)信息。
          進(jìn)入D:/web/antsample,輸入ant命令,即可編譯程序,并將其生成的class文件打包成jar,布置到app/WEB-INF/lib下。
          運(yùn)行ant deploy 即可拷貝context.xml到Tomcat/conf/Catalina/localhost/antsample.xml,完成程序的布置。
          運(yùn)行ant undeploy 即可刪除Tomcat/conf/Catalina/localhost/antsample.xml文件完成程序的卸載。

          現(xiàn)在您可以輸入 http://localhost:8080/antsample 來訪問例子程序了。

          posted on 2012-05-10 12:30 長(zhǎng)春語林科技 閱讀(2950) 評(píng)論(0)  編輯  收藏 所屬分類: util
          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

           

          長(zhǎng)春語林科技?xì)g迎您!

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          相冊(cè)

          收藏夾

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 博野县| 江西省| 建瓯市| 安吉县| 北辰区| 卢氏县| 泾阳县| 娱乐| 河西区| 苏尼特右旗| 游戏| 商洛市| 龙川县| 上杭县| 柯坪县| 桂阳县| 新民市| 玛沁县| 莆田市| 松桃| 安化县| 邢台市| 定陶县| 台中市| 汝南县| 贵州省| 扎赉特旗| 遵义市| 石渠县| 互助| 河北省| 同德县| 长白| 平乡县| 宽甸| 玛曲县| 伊宁市| 会泽县| 虞城县| 海安县| 新乐市|