海上月明

          editer by sun
          posts - 162, comments - 51, trackbacks - 0, articles - 8
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

          使用ant發布struts應用

          Posted on 2007-04-01 01:24 pts 閱讀(589) 評論(0)  編輯  收藏 所屬分類: Java
          使用ant發布struts應用,確切的說,是為struts2的應用準備的

          #build.xml
          <project default="init" name="Struts2_Test">
             
              <property file="build.properties" />
             
              <property name="srcDir" location="src"/>#src存放java文件,其跟目錄下存放struts.xml
              <property name="pageDir" location="pages"/>#pages存放相關頁面文件
              <property name="buildDir" location="build"/>#duild過程生成的文件
              <property name="distDir" location="dist"/>#目標文件,存放war文件
              <property name="libPath" location="WEB-INF/lib"/>#制定lib文件存放的地方
             
              #初始化classpath,以便于javac tarsk使用
              <path id="project.class.path">
                  <fileset dir="${libPath}">
                          <include name="*.jar"/>
                  </fileset>
                  <pathelement location="${buildDir}/classes"/>
                  <pathelement path="${java.class.path}"/>
              </path>
             
              #初始化,建立目錄
              <target name="init">
                  <mkdir dir="${buildDir}/classes"/>
                  <mkdir dir="${distDir}"/>
              </target>
             
              #編譯java文件
              <target name="complier" depends="init">
                  <javac destdir="${buildDir}/classes">
                          <src path="${srcDir}"/>
                          <classpath refid="project.class.path"/>
                  </javac>
              </target>
             
              #打包成war文件,文件名默認是project名字
              <target name="package" depends="complier">
                  #先copy過來到classes目錄,就是執行war時會打包進去########很重要
                  <copy file="${srcDir}/struts.xml" todir="${buildDir}/classes"/>
                  <war destfile="${distDir}/${ant.project.name}.war" webxml="WEB-INF/web.xml">
                          <fileset dir="${pageDir}"/>
                          <lib dir="WEB-INF/lib"/>
                          <classes dir="${buildDir}/classes"/>
                  </war>
              </target>
             
              #發布到tomcat的webapps目錄
              <target name="deploy" depends="package">
                  <copy file="${distDir}/${ant.project.name}.war" todir="${tomcat.home}/webapps"/>
              </target>
             
              #刪除build目錄
              <target name="clean" depends="deploy">
                  <delete dir="${buildDir}"/>
              </target>
             
              #ant reload將會對此應用重啟
              <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
                  <classpath>
                      <path location="${libPath}/catalina-ant.jar" />
                  </classpath>
              </taskdef>

              #開啟應用
              <taskdef name="start" classname="org.apache.catalina.ant.StartTask">
                  <classpath>
                      <path location="${libPath}/catalina-ant.jar" />
                  </classpath>
              </taskdef>
             
              #停止應用
              <taskdef name="stop" classname="org.apache.catalina.ant.StopTask">
                  <classpath>
                      <path location="${libPath}/catalina-ant.jar" />
                  </classpath>
              </taskdef>

               <target name="reload" description="Reload application in Tomcat">
                       <reload url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${webapp.name}" />
               </target>
             
               <target name="start" description="Start Tomcat application">
                       <start url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${webapp.name}" />
               </target>
             
               <target name="stop" description="Stop Tomcat application">
                       <stop url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${webapp.name}" />
               </target>   
             
          </project>

          ------------------------------------
          設計到build的一些屬性設置
          #build.properties
          webapp.name=Struts2_Test
          tomcat.home=F:/javatools/tomcat
          tomcat.manager.url=http://localhost/manager
          tomcat.manager.username=manager
          tomcat.manager.password=1234

          --------------------------------------
          文件結構圖:
          ant_struts2.GIF

          powered by performancing firefox


          附:給編程狂熱者的ant task筆記   作者:江南白衣
          主站蜘蛛池模板: 兴和县| 惠安县| 铜川市| 南江县| 普洱| 阳城县| 逊克县| 大厂| 岳普湖县| 社会| 兴仁县| 陆川县| 宣化县| 德保县| 原平市| 公安县| 揭阳市| 呼玛县| 新丰县| 鲜城| 南雄市| 行唐县| 鱼台县| 津南区| 阿荣旗| 临朐县| 平昌县| 宣汉县| 昌江| 米泉市| 甘德县| 昭苏县| 石柱| 庆阳市| 宣威市| 望城县| 曲阜市| 清苑县| 贞丰县| 都昌县| 共和县|