使用ant发布struts应用

使用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发布struts应用_第1张图片

powered by performancing firefox


附: 给编程狂热者的ant task笔记   作者: 江南白衣

你可能感兴趣的:(使用ant发布struts应用)