使用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
--------------------------------------
文件结构图:
powered by performancing firefox
附:
给编程狂热者的ant task笔记 作者:
江南白衣