使用 ant 让你愉快编程(5)

5  与 tomcat 合作

摘要: 介绍 build_tomcat.xml, tomcat.xml

现在介绍一下如何与 tomcat 一起合作.
java 的程序很大部分都涉及 web, 自己测试时使用 tomcat 还是很方便的.

在 work/common/ 下的 build_tomcat.xml, tomcat.xml 这两个文件是与
tomcat 配合工作的配置文件, 它的内容很简单.

  1. 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>
    

  2. 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="/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 等等任务就可以了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值