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)

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 交口县| 罗山县| 龙里县| 无棣县| 咸阳市| 鱼台县| 闵行区| 温宿县| 潜山县| 白河县| 秦皇岛市| 台山市| 商南县| 英吉沙县| 鸡西市| 谢通门县| 财经| 阳原县| 通州区| 新绛县| 睢宁县| 岢岚县| 出国| 雅江县| 永修县| 安义县| 阿鲁科尔沁旗| 日照市| 嘉兴市| 共和县| 鄢陵县| 武强县| 建始县| 临汾市| 芦溪县| 信宜市| 高清| 永春县| 简阳市| 铁岭县| 太保市|