海上月明

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

          使用ant發(fā)布struts應(yīng)用

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

          #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存放相關(guān)頁面文件
              <property name="buildDir" location="build"/>#duild過程生成的文件
              <property name="distDir" location="dist"/>#目標(biāo)文件,存放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文件,文件名默認(rèn)是project名字
              <target name="package" depends="complier">
                  #先copy過來到classes目錄,就是執(zhí)行war時(shí)會打包進(jìn)去########很重要
                  <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>
             
              #發(fā)布到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將會對此應(yīng)用重啟
              <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
                  <classpath>
                      <path location="${libPath}/catalina-ant.jar" />
                  </classpath>
              </taskdef>

              #開啟應(yīng)用
              <taskdef name="start" classname="org.apache.catalina.ant.StartTask">
                  <classpath>
                      <path location="${libPath}/catalina-ant.jar" />
                  </classpath>
              </taskdef>
             
              #停止應(yīng)用
              <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>

          ------------------------------------
          設(shè)計(jì)到build的一些屬性設(shè)置
          #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

          --------------------------------------
          文件結(jié)構(gòu)圖:
          ant_struts2.GIF

          powered by performancing firefox


          附:給編程狂熱者的ant task筆記   作者:江南白衣
          主站蜘蛛池模板: 门源| 思茅市| 田林县| 镇宁| 花莲县| 甘肃省| 饶平县| 射洪县| 额尔古纳市| 潢川县| 乌兰浩特市| 南澳县| 卫辉市| 长顺县| 当阳市| 奈曼旗| 龙海市| 三亚市| 静乐县| 定安县| 梧州市| 浦北县| 临邑县| 浦江县| 邹城市| 开封市| 福清市| 图木舒克市| 丰都县| 抚州市| 承德县| 遵义市| 于都县| 化隆| 浙江省| 资中县| 宝兴县| 磐石市| 缙云县| 荥阳市| 汝南县|