利用ant进行编译和发布项目
本文通过一个示例来解说如何通过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进行编译和发布项目的更多相关文章
- Ant自动编译打包&发布 android项目
Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...
- Andorid进阶7—— Ant自动编译打包&发布 android项目
http://www.cnblogs.com/tt_mc/p/3891546.html Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Ecl ...
- linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html 之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...
- (转载)Ant自动编译打包android项目
1 Ant自动编译打包android项目 1.1 Ant安装 ant的安装比较简单,下载ant压缩包 http://ant.apache.org (最新的为1.9.3版本),下载之后将其解压 ...
- windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...
- Android - Ant自动编译打包android项目 -- 1(转)
1. 背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...
- Ant自动编译打包android项目(转载)
1.1 Ant安装 ant的安装比较简单,下载ant压缩包 http://ant.apache.org (最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:\Progra ...
- ant自动编译打包android项目
源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/antdemo.zip Android打包APK的流程如下: 下面我们开始尝试使用ant进行ap ...
- ANT自动打包U3D安卓项目研究笔记
概述 因项目使用Atlassian Stash作为项目源码管理端,且其支持Ant命令自动编译,可使其根据最新的代码自动打包,故产生该研究Ant打包的任务.在此将研究过程及一些相关知识整理记录在此. 本 ...
随机推荐
- HTML浅识
HTML相关======= ## 认识网页 *web标准(w3c三种标准):结构标准 -->html 表现标准 -->css 行为标准 -->js **浏览器和服务器:浏览器发送报文 ...
- Windows使用WxWidgets开发界面(c++)环境搭建
一直想学习wxWidgets,之前使用的都是wxPython,现在终于鼓起勇气学习这个了,发现原来是基于vc6.0开发的.所以最好的学习办法就是安装vistual studio 2010,方便学习看代 ...
- Oracle 监听配置详解(转载)
使用ORACLE的SQL*Net V.2连接客户机和服务器,需配置每个客户机和服务器.在服务器上需配置的文件有:listener.ora./etc/services,在客户机上需配置tnsna ...
- mysql 5.6 设置慢查询
mysql 5.6 开启慢查询日志 slow_query_log = on #开启慢查询 1 或者 on long_query_time = 3 #记录超过的时间,单位是秒,默认是10s slow_q ...
- MySql 事务+异常处理+异常抛出
-- 测试用表 -- innodb 支持事务 CREATE TABLE `tb_test` ( `id` ) NOT NULL AUTO_INCREMENT, `name` ) NOT NULL, P ...
- 光盘自动运行HTML页,Autorun文件写法
1.把你的网页放在一个根目录下面,起名为index.html 2.在目录新建一个autorun.inf的文件,打开后编辑为以下内容: 代码如下: [autorun]icon=***.ico(加图标) ...
- SqlDbType与DbType这间的转换关系
SqlDbType => DbType SqlDbType.BigInt DbType.Int64 SqlDbType.Binary DbType.Binary SqlDbType.Bit Db ...
- C#限制转换后的double小数点留1位
glb_timer1WaitSeconds += 0.1; string s = string.Format("{0:f1}", glb_timer1WaitSeconds);
- clearInterval()与setInterval()的应用
1.setInterval()按照一定的周期调用函数2.clearInterval()取消setInterval()的周期调用 例如:图片轮播中的clearInterval()与setInterval ...
- HTML5画布(圆形)
案例1: <!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8& ...