posts - 56,  comments - 12,  trackbacks - 0
          ant打包一記
          By  凌云志 發(fā)表于 2007-6-10 13:21:00 

          以前對(duì)于ant的使用總是避而不觸,總以為有點(diǎn)難度,最近一直看我們項(xiàng)目中的build.xml忽而覺(jué)得非常簡(jiǎn)單,也模仿著在我的www.javaedu.com開(kāi)發(fā)上使用了一下,非常不錯(cuò),以下是我的打包文件build.xml:

          <?xml version="1.0"?>
           
          <project name="payManager" default="all" basedir=".">
           
           <property name="src.dir"       value="JavaSource" />
           <property name="classes.dir"   value="WebContent/WEB-INF/classes" />
           <property name="lib.dir"       value="WebContent/WEB-INF/lib" />
           <property name="WebContent.dir"     value="WebContent" />
           
           <!--用于輸出的臨時(shí)文件夾與打包的文件夾-->
           <property name="temp.dir"     value="D:\temp" />
           <property name="war.dir"      value="D:\war" />

           <!--對(duì)于不同環(huán)境的war包,使用不同的配置文件-->
           <property name="生產(chǎn).dir"     value="bak\生產(chǎn)" />
           <property name="開(kāi)發(fā).dir"     value="bak\開(kāi)發(fā)" />
           
           <!-- 定義classpath -->
           <path id="master-classpath">
            <fileset file="${lib.dir}/*.jar" />
            <pathelement path="${classes.dir}" />
           </path>

           <target name="clean"> 
            <delete dir="${temp.dir}" />
            <delete dir="${classes.dir}" />
            <delete file="${war.dir}/開(kāi)發(fā)/ROOT.war"/>
            <delete file="${war.dir}/生產(chǎn)/ROOT.war"/>
           </target>

           <!-- 初始化任務(wù) -->
           <target name="init" depends="clean">
           </target>

           <!-- 編譯 -->
           <target name="compile" depends="init" description="compile the source files">
            <mkdir dir="${temp.dir}/生產(chǎn)" />
            <mkdir dir="${temp.dir}/開(kāi)發(fā)" />  
            <mkdir dir="${classes.dir}" />

            <javac srcdir="${src.dir}" destdir="${classes.dir}"  debug="true" encoding="GB2312">
             <classpath refid="master-classpath" />
            </javac>

            <copy todir="${temp.dir}/生產(chǎn)" overwrite="true">
             <fileset dir="${WebContent.dir}">
              <include name="**/**" />
             </fileset>
            </copy>
            
            <copy todir="${temp.dir}/生產(chǎn)/WEB-INF/classes" overwrite="true">
             <fileset dir="${生產(chǎn).dir}">
              <include name="jlo_logging.xml" />
              <include name="log4j.properties" />
              <include name="mvncore.xml" />
              <include name="mvnForum_i18n_zh_CN.properties" />
              <include name="mvnforum.xml" />    
              <include name="whirlycache.xml" />
             </fileset>
            </copy>
            
            <copy todir="${temp.dir}/開(kāi)發(fā)" overwrite="true">
             <fileset dir="${WebContent.dir}">
              <include name="**/**" />
             </fileset>
            </copy>
              
            <copy todir="${temp.dir}/開(kāi)發(fā)/WEB-INF/classes" overwrite="true">
             <fileset dir="${開(kāi)發(fā).dir}">
              <include name="jlo_logging.xml" />
              <include name="log4j.properties" />
              <include name="mvncore.xml" />
              <include name="mvnForum_i18n_zh_CN.properties" />
              <include name="mvnforum.xml" />
              <include name="whirlycache.xml" />
             </fileset>
            </copy>
            
           </target>

           <!--打包-->
           <target name="war" depends="compile">
            <mkdir dir="${war.dir}/生產(chǎn)" />
            <mkdir dir="${war.dir}/開(kāi)發(fā)" />
            
            <jar jarfile="${war.dir}/生產(chǎn)/ROOT.war">
             <fileset dir="${temp.dir}/生產(chǎn)">
              <include name="**/*" />
             </fileset>
            </jar>
            
            <jar jarfile="${war.dir}/開(kāi)發(fā)/ROOT.war">
             <fileset dir="${temp.dir}/開(kāi)發(fā)">
              <include name="**/*" />
             </fileset>
            </jar>
            
            <delete dir="${temp.dir}"/>
           </target>
           
           <target name="all" depends="war">
            <delete dir="${classes.dir}" />
            <delete dir="${temp.dir}" />
           </target>

          </project>

          值得注意的是,在書(shū)寫(xiě)build.xml的時(shí)候一定要小心,別寫(xiě)錯(cuò)了,我就是因?yàn)榇中模趯?xiě)下面代碼的時(shí)候:

             <fileset dir="${生產(chǎn).dir}">
              .<include name="jlo_logging.xml" />
              <include name="log4j.properties" />
              <include name="mvncore.xml" />
              <include name="mvnForum_i18n_zh_CN.properties" />
              <include name="mvnforum.xml" />    
              <include name="whirlycache.xml" />
             </fileset>

          不小心在紅色代碼前加了一個(gè)“.”,結(jié)果報(bào)了一個(gè)type   doesn't   support   nested   text   data.   的錯(cuò),我找了半天沒(méi)找出原因,到網(wǎng)上搜了一下竟然沒(méi)有找到答案,后來(lái)才發(fā)現(xiàn)自己寫(xiě)錯(cuò)了,大汗,改正后,搞定,爽啊。是為記。

          posted on 2007-06-11 14:49 苦笑枯 閱讀(1653) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): ANT

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          收藏來(lái)自互聯(lián)網(wǎng),僅供學(xué)習(xí)。若有侵權(quán),請(qǐng)與我聯(lián)系!

          <2007年6月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          常用鏈接

          留言簿(2)

          隨筆分類(lèi)(56)

          隨筆檔案(56)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 沁水县| 盐池县| 延津县| 两当县| 城固县| 常宁市| 白朗县| 九龙坡区| 桐乡市| 冷水江市| 杂多县| 三台县| 酒泉市| 吉木乃县| 洪洞县| 巢湖市| 黄梅县| 辉县市| 闽清县| 武邑县| 泽普县| 文山县| 黄石市| 扎赉特旗| 中超| 澄迈县| 阿巴嘎旗| 塘沽区| 隆回县| 临江市| 思茅市| 泽州县| 丰顺县| 特克斯县| 柘城县| 贵定县| 青海省| 红安县| 泾川县| 乌兰县| 石柱|