Kela's Blog

                      前面的路很坎坷,但畢竟是條路.也許走過這一段就會發現,走過去就是夢想中的地方.因此堅持成為此刻唯一能做且必須去做的事情.
          posts - 9, comments - 27, trackbacks - 0, articles - 15

          一個常用的 ant 創建和發布描述

          Posted on 2005-11-25 08:54 Kela 閱讀(1115) 評論(1)  編輯  收藏

          web 應用常見的開發目錄結構

          app.home 
                         + -- build           --存放由ant工具生成的web應用的開放目錄結構
                         + -- deploy        --存放由ant工具生成的web應用的 war 文件
                         + -- doc             --存放由ant工具生成的JavaDoc文件
                         + -- lib               --存放所有的 jar 文件
                         + -- bin              --存放編譯生成的 java 類( . class )文件
                         + -- src              --存放 java 源文件和屬性文件
                         + -- webRoot     -- 存放 web 應用的 jsp ,html,圖片等
                                       |
                                       + -- WEB-INF     --存放 web.xml 以及其他的配置文件(如 Struts的 cfg等)

          創建 build.xml 配置文件

          build.properties : 存放與 web 服務器相關的屬性
          build.xml : ant 任務的配置文件

          以下是  build.properties
           
          tomcat.home=D\:/JavaSoft/tomcat5
          webapps.home=D\:/JavaSoft/tomcat5/webapps


          以下是 build.xml
          <?xml version="1.0" encoding="GB2312"?>
              <project name="JeeProjece" default="help" basedir=".">
           
              <property file="build.properties" />
              <property name="app.home"          value="."/>
              <property name="app.name"          value="HibernateProject"/>
           
              <property name="javadoc.pkg.top"   value="com"/>
           
              <property name="src.home"          value="${app.home}/src"/>
              <property name="bin.home"          value="${app.home}/bin"/> 
              <property name="lib.home"          value="${app.home}/lib"/>
           
              <property name="web.home"          value="${app.home}/web"/>
              <property name="doc.home"          value="${app.home}/doc"/>
              <property name="deploy.home"       value="${app.home}/deploy"/>
              <property name="build.home"        value="${app.home}/build"/>

              <!-- ClassPath -->
              <path id="compile.classpath">
                   <!-- application is jar -->
                   <fileset dir="${lib.home}">
                       <include name="*.jar"/>
                       <include name="*.zip"/>
                   </fileset>
                   <!-- Tomcat -->
                   <fileset dir="${tomcat.home}/common/lib">
                      <include name="*.jar"/>
                   </fileset>
                   <pathelement location="${tomcat.home}/common/classes"/>
               </path>
           
              <!-- help -->
              <target name="help">
                 <echo message=" **********    說  明    ********** "/>
                 <echo message=" (1). clean-file-1 : 刪除 doc, deploy, build "/>
                 <echo message=" (2). clean-file-2 : 刪除 ... ... "/>
                 <echo message=" (3). buildFile: 構建工程文件 "/>
                <echo message=" (4). compile: 編譯源文件 "/>
                <echo message=" (5). build: 工程構建 "/>
                <echo message=" (6). deploy: 發布打包好的war文件"/>
                <echo message=" (7). javadoc: 生成JavaDoc"/>
                <echo message=" (8). copyApp: 復制生成的應用到服務器中去,依賴于 (5) 工程構建 "></echo>
              </target>
           
              <!-- clean doc, depoy, build -->
              <target name="clean-file-1">
                 <delete dir="${deploy.home}"/>
                 <delete dir="${doc.home}"/>
                 <delete dir="${build.home}"/>
              </target>
           
              <!-- clean all -->
              <target name="clean-file-2"> 
              </target>
           
              <!-- 創建文件 -->
              <target name="buildFile">
            
                  <mkdir dir="${bin.home}"/>
                  <mkdir dir="${deploy.home}"/>

                  <mkdir dir="${doc.home}"/>
                  <mkdir dir="${doc.home}/api"/>

                  <mkdir dir="${build.home}"/>
                  <mkdir dir="${build.home}/WEB-INF" />
                  <mkdir dir="${build.home}/WEB-INF/classes" />
                  <mkdir dir="${build.home}/WEB-INF/lib" />
              </target>

              <!-- 編譯源文件 -->
              <target name="compile">
                  <javac srcdir="${src.home}" destdir="${bin.home}" debug="yes">
                      <classpath refid="compile.classpath"/>
                  </javac>
              </target>
           
              <!-- 構建 -->
              <target name="build">
                 <echo message=" 開始構建工程 "/>
                
                 <copy todir="${build.home}">
                     <fileset dir="${web.home}"/>
                  </copy>

                  <copy todir="${build.home}/WEB-INF/classes">
                      <fileset dir="${bin.home}"/>
                  </copy>

                  <copy todir="${build.home}/WEB-INF/classes">
                      <fileset dir="${src.home}">
                             <include name="**/*.properties" />
                             <include name="**/*.prop" />
                             <include name="**/*.class" />
                      </fileset>
                  </copy>

                  <copy todir="${build.home}/WEB-INF/lib">
                       <fileset dir="${lib.home}" />
                  </copy>

                  <jar jarfile="${deploy.home}/${app.name}.war" basedir="${build.home}"/>
               </target>
           
              <!-- 發布打包后的war文件 -->
              <target name="deploy">
                    <copy todir="${webapps.home}"  file="${deploy.home}/${app.name}.war" />
              </target>
           
             <!-- 生成 JavaDoc -->
             <target name="javadoc">
                <javadoc sourcepath = "${src.home}"
                                      destdir = "${doc.home}/api"
                          packagenames = "${javadoc.pkg.top}.*"/>
              </target>
           
              <!-- copy應用到服務器中去 -->
              <target name="copyApp" depends="build">
                 <echo message=" 開始復制文件 "/>
            
                 <copy todir="${webapps.home}/${app.name}">
                      <fileset dir="${build.home}"/>
                 </copy>
              </target>
          </project>

          Feedback

          # re: 一個常用的 ant 創建和發布描述  回復  更多評論   

          2009-11-20 15:27 by 早教老師
          看不懂

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


          網站導航:
           
          分享到:
          主站蜘蛛池模板: 福州市| 蕲春县| 阳西县| 昌吉市| 正安县| 汝城县| 安徽省| 溆浦县| 巴彦淖尔市| 印江| 鸡西市| 岳阳市| 隆昌县| 四平市| 闵行区| 米林县| 宾川县| 鹿邑县| 黄石市| 镇赉县| 民乐县| 泾川县| 鄄城县| 含山县| 陇南市| 清远市| 桐城市| 康乐县| 贵溪市| 平安县| 邳州市| 台江县| 托克托县| 丰原市| 宜黄县| 祁东县| 中宁县| 河北区| 襄汾县| 泗阳县| 滕州市|