5 与 tomcat 合作
摘要: 介绍 build_tomcat.xml, tomcat.xml
现在介绍一下如何与 tomcat 一起合作.
java 的程序很大部分都涉及 web, 自己测试时使用 tomcat 还是很方便的.
在 work/common/ 下的 build_tomcat.xml, tomcat.xml 这两个文件是与
tomcat 配合工作的配置文件, 它的内容很简单.
<?xml version="1.0" encoding="ISO-8859-1"?> <!- Copyright 2004 camry.wu@gmail.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc.. -> <project name="tomcat target file" default="start" basedir=""> <description> 与tomcat相互配合的任务. Version 1.0. Copyright 2004 camry.wu@gmail.com </description> <!- 读入 tomcat 配置 -> <xmlproperty file="${path.common}/tomcat.xml" semanticAttributes="true" keepRoot="false"/> <!- 发布到 tomcat -> <target name="deploy_tomcat" depends="compile" description="Deploy application"> <copy todir="${path.war}/WEB-INF/classes" preservelastmodified="true"> <fileset dir="${dist}/classes"> <include name="**/*"/> </fileset> </copy> <copy todir="${path.war}/WEB-INF/lib" preservelastmodified="true"> <fileset dir="${dist}/lib"> <include name="**/*"/> </fileset> </copy> <copy todir="${path.deploy}/${component.name}" preservelastmodified="true"> <fileset dir="${path.war}"> <include name="**/*"/> </fileset> </copy> </target> <!- 撤销发布 -> <target name="undeploy_tomcat" description="Un-Deploy application"> <delete> <fileset dir="${tomcat.home}/webapps/${component.name}"> <include name="**/*"/> </fileset> </delete> </target> <!- 发布为 war 形式 -> <target name="deploywar" depends="jar" description="Deploy application as a WAR file"> <war destfile="${component.name}.war" webxml="${path.war}/WEB-INF/web.xml"> <fileset dir="${path.war}"> <include name="**/*"/> </fileset> </war> <copy todir="${path.deploy}" preservelastmodified="true"> <fileset dir="."> <include name="*.war"/> </fileset> </copy> </target> <!- install 工程 -> <taskdef name="install" classname="org.apache.catalina.ant.InstallTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef> <!- reload 工程 -> <taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef> <!- 查看工程列表 -> <taskdef name="list" classname="org.apache.catalina.ant.ListTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef> <!- 启动 tomcat -> <taskdef name="start" classname="org.apache.catalina.ant.StartTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef> <!- 停止 tomcat -> <taskdef name="stop" classname="org.apache.catalina.ant.StopTask"> <classpath> <path location="${tomcat.home}/server/lib/catalina-ant.jar"/> </classpath> </taskdef> <!- install 工程 -> <target name="install" description="Install application in Tomcat"> <install url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${component.name}" war="${component.name}.war"/> </target> <!- reload 工程 -> <target name="reload" description="Reload application in Tomcat"> <reload url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${component.name}"/> </target> <!- 启动 tomcat -> <target name="start" description="Start Tomcat application"> <start url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${component.name}"/> </target> <!- 停止 tomcat -> <target name="stop" description="Stop Tomcat application"> <stop url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}" path="/${component.name}"/> </target> <!- 查看工程列表 -> <target name="list" description="List Tomcat applications"> <list url="${tomcat.manager.url}" username="${tomcat.manager.username}" password="${tomcat.manager.password}"/> </target> </project>
<?xml version="1.0" encoding="ISO-8859-1"?> <!- Copyright 2004 camry.wu@gmail.com Ant build environment for tomcat -> <root> <tomcat> <!- 配置 tomcat.home 位置 -> <home value="/home/camry/program/tomcat.home"/> <!- 配置 tomcat 的管理界面 -> <manager> <url>http://127.0.0.1:8080/manager</url> <username>camry</username> <password>camry</password> </manager> </tomcat> <path> <!- 配置发布的源 war 位置 -> <war>war</war> <!- 发布到 tomcat 的 webapps 目录下 -> <deploy>${tomcat.home}/webapps</deploy> </path> </root>
在使用的时候, 要注意先在 work/工程目录/ 下建立 war 目录,
war 目录结构为:
work/工程目录/war | -- WEB-INF/ | -- classes/ # 放置 class 文件 | -- lib/ # 放置需要的 jar 包 | -- web.xml # web 配置文件
有了这些配置, 在与 tomcat 配合时只要启动 tomcat 先, 随后就不用再管 tomcat 了,
只要调用 ant deploy, ant stop, ant start 等等任务就可以了.