使用 ant 让你愉快编程(5)
摘要: build_tomcat.xml, tomcat.xml
现在介绍一下如何与 tomcat 一起配合工作.
java 的程序很大部分都涉及 web, 自己测试时使用 tomcat 还是很方便的,
所以有必要介绍一下.
在 work/common/ 下的 build_tomcat.xml, tomcat.xml 这两个文件是与
tomcat 配合工作的配置文件, 它的内容很简单.
. 以下为 build_tomcat.xml 文件内容:
<?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>
以下为 tomcat.xml 的内容.
<?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="/usr/tomcat.home"/>
<!-- 配置 tomcat 的管理界面 -->
<manager>
<url>http://127.0.0.1:8080/manager</url>
<username>camry</username>
<password>xxxxx</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 等等
任务就可以了.
下一篇[url=http://blog.csdn.net/camry_camry/archive/2004/10/21/145819.aspx]上一篇