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

          以前對于ant的使用總是避而不觸,總以為有點難度,最近一直看我們項目中的build.xml忽而覺得非常簡單,也模仿著在我的www.javaedu.com開發上使用了一下,非常不錯,以下是我的打包文件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" />
           
           <!--用于輸出的臨時文件夾與打包的文件夾-->
           <property name="temp.dir"     value="D:\temp" />
           <property name="war.dir"      value="D:\war" />

           <!--對于不同環境的war包,使用不同的配置文件-->
           <property name="生產.dir"     value="bak\生產" />
           <property name="開發.dir"     value="bak\開發" />
           
           <!-- 定義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}/開發/ROOT.war"/>
            <delete file="${war.dir}/生產/ROOT.war"/>
           </target>

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

           <!-- 編譯 -->
           <target name="compile" depends="init" description="compile the source files">
            <mkdir dir="${temp.dir}/生產" />
            <mkdir dir="${temp.dir}/開發" />  
            <mkdir dir="${classes.dir}" />

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

            <copy todir="${temp.dir}/生產" overwrite="true">
             <fileset dir="${WebContent.dir}">
              <include name="**/**" />
             </fileset>
            </copy>
            
            <copy todir="${temp.dir}/生產/WEB-INF/classes" overwrite="true">
             <fileset dir="${生產.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}/開發" overwrite="true">
             <fileset dir="${WebContent.dir}">
              <include name="**/**" />
             </fileset>
            </copy>
              
            <copy todir="${temp.dir}/開發/WEB-INF/classes" overwrite="true">
             <fileset dir="${開發.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}/生產" />
            <mkdir dir="${war.dir}/開發" />
            
            <jar jarfile="${war.dir}/生產/ROOT.war">
             <fileset dir="${temp.dir}/生產">
              <include name="**/*" />
             </fileset>
            </jar>
            
            <jar jarfile="${war.dir}/開發/ROOT.war">
             <fileset dir="${temp.dir}/開發">
              <include name="**/*" />
             </fileset>
            </jar>
            
            <delete dir="${temp.dir}"/>
           </target>
           
           <target name="all" depends="war">
            <delete dir="${classes.dir}" />
            <delete dir="${temp.dir}" />
           </target>

          </project>

          值得注意的是,在書寫build.xml的時候一定要小心,別寫錯了,我就是因為粗心,在寫下面代碼的時候:

             <fileset dir="${生產.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>

          不小心在紅色代碼前加了一個“.”,結果報了一個type   doesn't   support   nested   text   data.   的錯,我找了半天沒找出原因,到網上搜了一下竟然沒有找到答案,后來才發現自己寫錯了,大汗,改正后,搞定,爽啊。是為記。

          posted on 2007-06-11 14:49 苦笑枯 閱讀(1651) 評論(0)  編輯  收藏 所屬分類: ANT

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          收藏來自互聯網,僅供學習。若有侵權,請與我聯系!

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

          常用鏈接

          留言簿(2)

          隨筆分類(56)

          隨筆檔案(56)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 河北省| 乌拉特中旗| 调兵山市| 长寿区| 仙游县| 灌南县| 西平县| 渭源县| 仪征市| 乐清市| 宁德市| 贵阳市| 古蔺县| 邛崃市| 大新县| 苍溪县| 大悟县| 奉节县| 民权县| 镇江市| 高雄县| 金沙县| 清丰县| 永定县| 黑龙江省| 塔河县| 紫阳县| 东源县| 阿拉善右旗| 江源县| 汉源县| 延寿县| 沅江市| 宽甸| 新昌县| 施甸县| 福贡县| 朝阳县| 固原市| 青龙| 宜君县|