`
alesg
  • 浏览: 4394 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用Ant发布web应用到tomcat

    博客分类:
  • web
阅读更多

今天在公司用ant写了个部署web应用的脚本,闲来无事,就稍微总结一下,以供以后参照使用,也希望作为一个demo, 能对大家有启迪的作用,如果真的如此,我也就很是欣慰了。

         好了,言归正传,下面就开始记流水账吧。

一.Ant简介

        Ant是一种基于java的build工具,有些类似于unix系统中的make命令,Ant是Apache软件基金会Jakarta目录中的一个子项目,具有跨平台性,操作简单。。等特点。

         这里就不说这些老套的话了,大家知道就是一种build工具就可以了,具体有什么用和怎么用,我们稍后说明。

二.Ant的主要标签及数据类型

        Ant构建文件是一个xml文件,一般默认命名为build.xml,如果是web project,通常把构建文件放在顶层目录下,即和src文件夹并列。

         一个Ant构建文件需要定义一个唯一的项目元素(project元素),还可以定义多个目标元素(target元素),各个目标元素之间可以有一定的依赖关系,如:

< target  name ="compile" >
< target  name ="deploy"  depends ="compile" >

如上,deploy依赖与compile,即:系统必须先compile完了,然后才能deploy。

下面简要介绍一下Ant的主要标签:

1.<project>标签
 每个构建文件对应一个项目。<project>标签是构建文件的根标签。它可以有多个内在属性,其各个属性的含义分别如下:
(1) default表示默认的运行目标,这个属性是必须的。
(2) basedir表示项目的基准目录。
(3) name表示项目名。
(4) description表示项目的描述。

2.<target>标签
Target的常用属性如下。
(1).name表示目标名称,这个属性是必须的。
(2).depends表示依赖的目标。
(3)if表示仅当属性设置时才执行。
(4)unless表示当属性没有设置时才执行。
(5)description表示项目的描述。
Ant的depends属性指定了target的执行顺序。Ant会依照depends属性中target出现顺序依次执行每个target。在执行之前,首先需要执行它所依赖的target。

3.<mkdir>标签
该标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名。

4<jar>标签
该标签用来生成一个JAR文件,其属性如下。
(1) destfile表示要生成的JAR文件名。
(2) basedir表示被归档的文件名。
(3) includes表示需要归档的文件模式。
(4) exchudes表示被排除的文件模式。

5.<javac标签>
该标签用于编译一个或一组java文件,其属性如下。
(1).srcdir表示源程序的目录。
(2).destdir表示class文件的输出目录。
(3).include表示被编译的文件的模式。
(4).excludes表示被排除的文件的模式。
(5).classpath表示所使用的类路径。
(6).debug表示包含的调试信息。
(7).optimize表示是否使用优化。
(8).verbose 表示提供详细的输出信息。
(9).fileonerror表示当碰到错误就自动停止。

6.<java>标签
该标签用来执行编译生成的.class文件,其属性如下。
(1).classname 表示将执行的类名。
(2).jar表示包含该类的JAR文件名。
(3).classpath所表示用到的类路径。
(4).fork表示在一个新的虚拟机中运行该类。
(5).failonerror表示当出现错误时自动停止。
(6).output 表示输出文件。
(7).append表示追加或者覆盖默认文件。

7.<delete>标签
该标签用于删除一个文件或一组文件,其属性如下。
(1)/file表示要删除的文件。
(2).dir表示要删除的目录。
(3).includeEmptyDirs 表示指定是否要删除空目录,默认值是删除。
(4).failonerror 表示指定当碰到错误是否停止,默认值是自动停止。

8.<copy>标签
该标签用于文件或文件集的拷贝,其属性如下。
(1).file 表示源文件。
(2).tofile 表示目标文件。
(3).todir 表示目标目录。
(4).overwrite 表示指定是否覆盖目标文件,默认值是不覆盖。
(5).includeEmptyDirs 表示制定是否拷贝空目录,默认值为拷贝。
(6).failonerror 表示指定如目标没有发现是否自动停止,默认值是停止。

如果我们部署一个 web应用的话,经常用到的标签有:delete,mkdir,copy,jar,target,project。

三.使用Ant发布web应用到tomcat

下面我们以一个简单的例子,来演示如何使用Ant发布web应用到tomcat。我们假设有个很简单的web projcet,我们想使用Ant来将服务部署到tomcat,假设在web project的根目录下有个build.xml文件,我们可以如此编辑该构建文件。

< project  name ="demo"  basedir ="." >
                      
<!-- 定义tomcat所在目录 -->
    
< property  name ="webapp"  value ="D:/tomcat/webapps/ROOT"   />
    
< target  name ="core" >
        
<!-- 删除原来部署的文件 -->
        
< delete  dir ="${webapp}" ></ delete >
        
< mkdir  dir ="${webapp}"   />
                                           
<!-- 将编译后的文件拷贝到tomcat目录下 -->
        
< copy  todir ="${webapp}"  overwrite ="true" >
            
< fileset  dir ="${basedir}/WebRoot" />
        
</ copy >
    
</ target >
</ project >

         完事了?yes!非常简单! 当然,如上代码的前提是:在eclipse+Myeclipse环境下开发,并且将自动编译开关开开,这样我们只需要将编译好的文件拷贝到tomcat目录下即可,如果不是在这种环境下开发,我们可能就需要先使用javac命令编译一下,然后再拷贝到tomcat目录下。

          如果我们想把该web project中的java文件打成jar包,放置在WEB-INF/lib目录下,将其他文件拷贝到tomcat/webapps目录下,我们可以使用如下构建文件:

< project  name ="demo"  basedir ="." >
    
< property  name ="webapp"  value ="D:/tomcat/webapps/ROOT"   />
    
< target  name ="core" >
        
<!-- 删除原来部署的文件 -->
        
< delete  dir ="${webapp}" ></ delete >
        
< mkdir  dir ="${webapp}"   />
<!-- 除了class文件外,其他文件拷贝到tomcat目录下 -->
        
< copy  todir ="${webapp}"  overwrite ="true" >
            
< fileset  dir ="${basedir}/WebRoot"  excludes ="**/*.class" />
        
</ copy >
<!-- 将class文件打包,放到/WEB-INF/lib目录下 -->
        
< jar  destfile ="${webapp}/WEB-INF/lib/test.jar" >
            
< fileset  dir ="${basedir}/WebRoot/WEB-INF/classes" >
                
< include  name ="**/*.class"   />
            
</ fileset >
        
</ jar >
    
</ target >
</ project >

怎么样?我们上面用到了copy,delete,mkdir,fileset,include,excludes这些标签,你可明白?

分享到:
评论
1 楼 zhazha1984 2009-06-20  
最近正需要了解一下这个,哈哈~留用!

相关推荐

    部署WEB应用到Tomcat的三种方式

    使用MyEclipse部署Web应用到Tomcat非常便捷: 1. **创建项目**:首先,在MyEclipse中创建一个新的Web项目。可以通过选择“File”&gt;“New”&gt;“Dynamic Web Project”来完成这一操作。 2. **配置服务器**:在MyEclipse...

    java ant发布项目到tomcat

    在本场景中,我们将探讨如何使用Ant来发布一个Web项目到Apache Tomcat服务器。 首先,理解Ant的基本结构是至关重要的。一个Ant项目通常包含一个build.xml文件,这是Ant执行的所有指令的中心。在这个文件中,我们...

    使用ant部署eclipse开发的web工程到tomcat

    本篇文章将深入探讨如何使用Apache Ant工具部署由Eclipse开发的Web工程到Apache Tomcat服务器上。Ant是一个基于Java的构建工具,它允许通过XML格式的构建文件(如`build.xml`)来定义构建任务,极大地简化了项目管理...

    使用Ant和Tomcat创建Web应用详解

    我使用Tomcat4的Servlet/JPS容器技术实现一个Web应用程序。这个过程中仍然有许多不确定的事,在多种可行的技术中选一种可不是一件容易的事。这篇文章中,我选择尽量简单的解决方案,混合使用Java Server Pages(JSPs)...

    ant+tomcat

    4. "Eclipse中自动通过ant脚本把web应用部署到tomcat中.doc":这将涉及如何在Eclipse这样的IDE中配置和运行Ant脚本,以便于快速将Web应用部署到本地或远程的Tomcat服务器上。 在实际开发中,Ant可以执行一系列任务...

    ant远程上传并部署tomcat

    标题中的“ant远程上传并部署tomcat”是指使用Apache Ant工具执行自动化构建任务,将本地的Web应用(如WAR或EAR文件)传输到远程Linux服务器的Tomcat应用服务器上进行部署,并随后重启Tomcat服务以使更改生效。Ant是...

    使用ANT远程发布Web项目

    ### 使用ANT远程发布Web项目 #### 一、概述 在软件开发过程中,自动化构建与部署是提高开发效率、减少人为错误的重要手段之一。Apache Ant 是一个用于自动化软件编译、测试、部署等过程的Java库及命令行工具,它...

    Ant远程部署tomcat脚本

    总结来说,Ant远程部署Tomcat脚本是通过XML配置文件定义了一系列的任务,这些任务能够自动完成Web应用的打包、停服、卸载和部署,极大地提高了开发和运维的效率。正确配置脚本中的URL、用户名、密码以及上下文路径等...

    ant_发布web项目

    标题“ant_发布web项目”指的是使用Apache Ant工具来部署Web应用程序的过程。Apache Ant是一个Java库和命令行工具,其任务是驱动构建过程。在Java开发中,Ant被广泛用于编译、打包、测试和部署项目,特别是对于Web...

    ant启动关闭tomcat

    在IT领域,Ant和Tomcat是两个非常重要的工具,它们分别用于自动化构建过程和部署Java Web应用程序。在本文中,我们将深入探讨如何使用Ant通过XML配置来启动和关闭Tomcat服务器,这一技能对于任何从事Java Web开发的...

    13_ant_发布web项目和操作数据库

    4. 发布到服务器:生成WAR文件后,可以通过FTP、SCP等方式上传至服务器的Tomcat或其他应用服务器的webapps目录下,然后启动或重启服务器完成部署。 三、Ant操作数据库 1. 数据库连接:Ant可以使用JDBC任务来连接...

    使用Ant进行Web开发定义.pdf

    《使用Ant进行Web开发》是Steve Holzner的著作《The Definitive Guide, 2nd Edition》的第二部分,主要讲述了如何利用Apache Ant工具进行Web应用程序的打包和部署。在第一部分中,作者介绍了war、cab、ear以及jspc等...

    Ant编译Tomcat源码、MyEclipse导入Tomcat源码、执行Tomcat源码启动Tomcat

    在IT行业中,Ant和Tomcat是两个非常关键的组件,分别用于构建和部署Java应用程序。Ant是一个基于XML的构建工具,而Tomcat则是一个流行的开源Servlet容器。本篇将详细介绍如何使用Ant编译Tomcat源码,以及如何在...

    ant部署tomcat

    在IT行业中,Ant和Tomcat是两个非常关键的工具,分别用于构建自动化和运行Java Web应用程序。本篇文章将深入探讨“ant部署tomcat”的过程,包括Ant如何与SVN协同工作,以及如何将代码从版本控制系统中提取并部署到...

    ant1-9-4和tomcat7-0-57包

    Ant可以用来编译源码、打包Web应用(WAR文件),然后使用Ant的deploy任务将WAR文件部署到Tomcat服务器上。这样,整个构建和部署流程可以通过自动化脚本完成,极大地提高了开发效率。 总结来说,Ant和Tomcat是Java ...

    tomcat的配置 WEB项目发布

    Tomcat作为一款广泛使用的开源Web服务器容器,其目录结构对于理解如何配置和部署Web应用程序至关重要。下面详细介绍Tomcat的主要目录及其功能: - **/bin**:此目录包含用于启动和停止Tomcat服务的脚本文件,支持...

    贯通Java Web开发三剑客Eclipse+Tomcat+Ant整合开发.(党海峰)

    4. **项目部署**:利用Ant将Web应用部署到Tomcat服务器,包括发布WAR文件到Tomcat的webapps目录,或者使用Tomcat的管理工具进行远程部署。 5. **版本控制与团队协作**:介绍如何将Eclipse、Tomcat和Ant的配置纳入...

    ANT Package Script For Depend On Tomcat Developing

    但从提供的博文链接(https://jaychang.iteye.com/blog/976933)可以推测,这篇博客可能详细介绍了如何编写和使用Ant脚本来实现对Tomcat的依赖,包括构建Web应用、配置部署环境、以及可能的自动化测试和发布步骤。...

    性能自动化测试(基于jmeter+jenkins+ant+tomcat)

    **Tomcat** 是一个流行的开源Java Servlet容器,常用于部署Web应用。在性能测试中,Tomcat作为被测应用的服务器,接受JMeter发送的请求并返回响应,从而帮助评估其在高并发情况下的性能。 **环境配置**: 1. **...

    ant_tomcat_gt4.0.2_axis

    总的来说,这个压缩包的使用者可能是一位Java开发者或者IT专业人员,希望通过Ant自动化构建系统,Tomcat部署Web应用,Globus Toolkit 4.0.2来实现网格计算,而Axis则用于创建和消费Web服务。在Windows 7环境下,这...

Global site tag (gtag.js) - Google Analytics