本文通过一个示例来解说如何通过ant进行编译和发布项目。
本例按如下目录结构来组织项目。

D:/web/antsample项目根目录
D:/web/antsample/src源代码目录
D:/web/antsample/src/sample/HelloWorld.java示例HelloWorld代码文件
D:/web/antsample/app应用程序目录
D:/web/antsample/app/index.jsp默认首页文件
D:/web/antsample/app/WEB-INF
D:/web/antsample/app/WEB-INF/web.xml应用程序描述文件
D:/web/antsample/app/WEB-INF/lib应用程序库目录
D:/web/antsample/context.xml应用程序环境配置文件,数据源、应用程序路径(path)、文档路径(docBase)等信息在此配置。
D:/web/antsample/build.xml

build.xml 文件内容

<?xml version="1.0" encoding="UTF-8"?>
<project name="antsample" default="jar" basedir=".">
<property environment="env"/>
<echo message="Ant 版本 ${ant.java.version}"/>
<property name="tomcat.home" value="/home/xiaojf/tomcat6"/> <!-- tomcat目录 -->
<property name="web.home" value="./app"/> <!-- 应用程序目录 -->
<property name="src.home" value="./src"/> <!-- java源文件目录 -->
<property name="jarFile" value="${web.home}/WEB-INF/lib/${ant.project.name}.jar"/> <!-- jar文件位置 -->
<property name="warFile" value="./${ant.project.name}.war"/> <!-- war文件位置 -->
<property name="srcDeployFile" value="./context.xml"/> <!-- 源部署文件 -->
<property name="distDeployFile" value="${tomcat.home}/conf /Catalina/localhost/${ant.project.name}.xml"/> <!-- 源部署文件 -->
<property name="jdk1.5" value="/usr/lib/jvm/jdk1.5/bin/javac"/> <!-- 设置jdk1.5编译器的全路径 -->
<property name="jdk1.6" value="/usr/lib/jvm/jdk1.6/bin/javac"/> <!-- 设置jdk1.6编译器的全路径 -->
<property name="javaCompiler" value="${jdk1.6}"/> <!-- 编译时使用的javac -->
<!-- 设置 classpath,即编译时需要引用的库文件 -->
<path id="classpath">
<fileset dir="${web.home}/WEB-INF/lib"> <!-- 引用应用程序WEB-INF/lib下的所有jar -->
<include name="**/*.jar"/>
</fileset>
<fileset dir="${tomcat.home}/lib"> <!-- 引用Tomcat/lib下的所有jar -->
<include name="**/*.jar"/>
</fileset>
</path>
<!-- 清除已经生成的class文件 -->
<target name="clean">
<delete>
<fileset dir="${src.home}" includes="**/*.class"/>
</delete>
</target>
<!-- 编译src.home下的所有java文件。fork被设置为true,这样可指定编译使用的JDK,此处使用jdk1.5。必须根据java源文件的编码来设置encoding。 -->
<target name="compile" depends="clean">
<javac srcdir="${src.home}"
debug="on"
deprecation="on"
optimize="off"
includes="**"
includeantruntime="on"
encoding="UTF-8"
fork="yes"
executable="${javaCompiler}"
>
<classpath refid="classpath"/>
<compilerarg value="-Xlint:unchecked"/>
</javac>
</target> <!-- 打包,并将jar放置在应用程序WEB-INF/lib下。 -->
<target name="jar" depends="compile">
<jar destfile="${jarFile}"
basedir="${src.home}"
includes="**/*.class **/*.xml"/>
</target> <target name="war" depends="jar">
<war destfile="${warFile}"
basedir="${web.home}"/>
</target> <!-- 布置应用程序到Tomcat -->
<target name="deploy">
<copy file="${srcDeployFile}" tofile="${distDeployFile}"/>
</target>
<!-- 从Tomcat上卸载应用程序 -->
<target name="undeploy">
<delete file="${distDeployFile}"/>
</target>
</project>

运行本例,您必须修改build.xml中tomcat目录的全路径和context.xml中的相应信息。
进入D:/web/antsample,输入ant命令,即可编译程序,并将其生成的class文件打包成jar,布置到app/WEB-INF/lib下。
运行ant deploy 即可拷贝context.xml到Tomcat/conf/Catalina/localhost/antsample.xml,完成程序的布置。
运行ant undeploy 即可删除Tomcat/conf/Catalina/localhost/antsample.xml文件完成程序的卸载。

现在您可以输入 http://localhost:8080/antsample 来访问例子程序了。

利用ant进行编译和发布项目的更多相关文章

  1. Ant自动编译打包&发布 android项目

    Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...

  2. Andorid进阶7—— Ant自动编译打包&发布 android项目

    http://www.cnblogs.com/tt_mc/p/3891546.html Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Ecl ...

  3. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

    原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html  之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...

  4. (转载)Ant自动编译打包android项目

    1  Ant自动编译打包android项目 1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压 ...

  5. windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

    原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...

  6. Android - Ant自动编译打包android项目 -- 1(转)

    1.  背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...

  7. Ant自动编译打包android项目(转载)

      1.1   Ant安装 ant的安装比较简单,下载ant压缩包  http://ant.apache.org  (最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Progra ...

  8. ant自动编译打包android项目

    源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/antdemo.zip Android打包APK的流程如下:  下面我们开始尝试使用ant进行ap ...

  9. ANT自动打包U3D安卓项目研究笔记

    概述 因项目使用Atlassian Stash作为项目源码管理端,且其支持Ant命令自动编译,可使其根据最新的代码自动打包,故产生该研究Ant打包的任务.在此将研究过程及一些相关知识整理记录在此. 本 ...

随机推荐

  1. HTML浅识

    HTML相关======= ## 认识网页 *web标准(w3c三种标准):结构标准 -->html 表现标准 -->css 行为标准 -->js **浏览器和服务器:浏览器发送报文 ...

  2. Windows使用WxWidgets开发界面(c++)环境搭建

    一直想学习wxWidgets,之前使用的都是wxPython,现在终于鼓起勇气学习这个了,发现原来是基于vc6.0开发的.所以最好的学习办法就是安装vistual studio 2010,方便学习看代 ...

  3. Oracle 监听配置详解(转载)

        使用ORACLE的SQL*Net V.2连接客户机和服务器,需配置每个客户机和服务器.在服务器上需配置的文件有:listener.ora./etc/services,在客户机上需配置tnsna ...

  4. mysql 5.6 设置慢查询

    mysql 5.6 开启慢查询日志 slow_query_log = on #开启慢查询 1 或者 on long_query_time = 3 #记录超过的时间,单位是秒,默认是10s slow_q ...

  5. MySql 事务+异常处理+异常抛出

    -- 测试用表 -- innodb 支持事务 CREATE TABLE `tb_test` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, P ...

  6. 光盘自动运行HTML页,Autorun文件写法

    1.把你的网页放在一个根目录下面,起名为index.html 2.在目录新建一个autorun.inf的文件,打开后编辑为以下内容: 代码如下: [autorun]icon=***.ico(加图标) ...

  7. SqlDbType与DbType这间的转换关系

    SqlDbType => DbType SqlDbType.BigInt DbType.Int64 SqlDbType.Binary DbType.Binary SqlDbType.Bit Db ...

  8. C#限制转换后的double小数点留1位

    glb_timer1WaitSeconds += 0.1; string s = string.Format("{0:f1}", glb_timer1WaitSeconds);

  9. clearInterval()与setInterval()的应用

    1.setInterval()按照一定的周期调用函数2.clearInterval()取消setInterval()的周期调用 例如:图片轮播中的clearInterval()与setInterval ...

  10. HTML5画布(圆形)

    案例1: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8& ...