CSDN博客

img Explorerwen

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

发表于2004/10/25 12:18:00  945人阅读

摘要: 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 等等
任务就可以了.
阅读全文
0 0

相关文章推荐

img
取 消
img