使用Ant发布web应用到tomcat

今天在公司用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这些标签,你可明白?

转载于:https://www.cnblogs.com/hehe520/archive/2007/12/19/6330229.html

使用Ant发布web应用到tomcat相关推荐

  1. eclipse发布web项目到tomcat服务器

    README:  使用eclipse发布web项目到tomcat有很多坑儿的.下面依依道来. step1)eclipse建立web 项目: step2)在tomcat服务器上为该web项目配置的虚拟目 ...

  2. Maven发布web项目到tomcat

    在java开发中经常要引入很多第三方jar包:然而无论是java web开发还是其他java项目的开发经常会由于缺少依赖包引来一些不必要的异常.常常也是因为这样的原因导致许多简单的缺包和版本问题耗费大 ...

  3. Eclipse 使用maven管理发布web项目在tomcat里面只有java文件没有class文件

    解决方案: 1.可能是maven本地仓库里面的jar包导致的,打开errors窗口看看有哪些jar包报错的信息 2.然后在仓库里面把他们都删除,删完之后在项目里面重新下载和更新一下maven 像这种情 ...

  4. 在tomcat下创建和发布WEB应用

    在tomcat下创建和发布web应用,对于单纯的jsp程序来说,在apache-tomcat-6.0.016/webapps文件夹下建立一个程序目录,然后将jsp程序放在该目录下即可.比如,在apac ...

  5. linux安装eclipse运行web,Linux安装Tomcat,运行Eclipse,web项目

    到官网下载:https://tomcat.apache.org/download-80.cgi  在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd  切换目录 / ...

  6. Linux上部署web服务器并发布web项目

    近在学习如何在linux上搭建web服务器来发布web项目,由于本人是linux新手,所以中间入了不少坑,搞了好久才搞出点成果. 以下是具体的详细步骤以及我对此做的一些总结和个人的一些见解,希望对跟我 ...

  7. web服务之Tomcat

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选. 示例 1:Tomcat的配 ...

  8. JavaWeb(一)——web服务器、Tomcat安装和配置

    文章目录 1. 基本概念 1.1 前言 1.2 web应用程序 1.3 静态web 1.4 动态web 2. web服务器 2.1 技术讲解 2.2 web服务器 3. Tomcat 3.1 安装To ...

  9. Tuscany SCA 发布Web Service

    有段时间没有学习SOA了,最近偶然碰到一个例子,运行修改理解后发布到此. 在前面的博客中有提到用axis2发布web service,借用了插件,并且步骤较繁多,现在来看下tuscany简单地通过配置 ...

  10. Mac下Intellij IDea发布Web项目详解一

    Mac下Intellij IDea发布Web项目详解一 Mac下Intellij IDea发布Java Web项目(适合第一次配置Tomcat的家伙们)详解二 Mac下Intellij IDea发布J ...

最新文章

  1. Python培训常识:Python面试中常被问到的几种设计模式要知道
  2. C语言,获得堆栈增长方向的一种方法
  3. UNIX再学习 -- 文件描述符
  4. Boost:BOOST_ASSERT_MSG扩展的用法测试程序
  5. 【1】flink-source读取数据
  6. 天天向上续python3.3_Linux 配置系列 四 python3
  7. 微服务架构下的熔断框架:hystrix-go
  8. java类加载体系,Java类加载体系
  9. 如何断开所有SQL Server所有的连接
  10. 2015年Java组B组
  11. 音视频即时通讯开发功能介绍
  12. SpringMvc类型转换器
  13. Best Android Remote Desktop Apps?
  14. java生成不重复8位数字_如何生成8位随机不重复的数字编号
  15. 猫猫回收站教程:在线撸猫~
  16. QT之OpenGL坐标系统
  17. CAD将选中的实体做成块(网页版)
  18. 树莓派 公网IP变动后 自动邮件通知 python
  19. 教师资格证2023年报名时间来了!
  20. CVE-2014-6271-bash shellshock-破壳漏洞复现

热门文章

  1. UltraEdit 许可证ID 如何加密和解密文本教程分享
  2. 推荐一个高仿微信的项目 有点屌!!!
  3. 卧槽!火爆GitHub的算法电子书开放下载了!
  4. 数据库之互联网常用架构方案一览
  5. 前端架构最全总结——GUI 应用程序架构的十年变迁:MVC、MVP、MVVM、Unidirectional、Clean...
  6. 5 月编程语言排行榜:Java第一,R 跌出Top20,Python成最大赢家
  7. 如何更高效地使用 OkHttp
  8. python协程调度方式_python 3.x 学习笔记17(协程以及I/O模式)
  9. 不会写漂亮代码不是优秀的程序员,没有钢铁侠之躯不是合格的程序员
  10. [TJOI2015]弦论(后缀数组or后缀自动机)