Ant 学习及常用任务
安装与配置
下载地址:http://ant.apache.org/bindownload.cgi,解压。
添加系统环境变量:
ANT_HOME,该变量指向Ant解压后的根目录。
PATH,追加path目录 %ANT_HOME/bin%;
安装与配置完毕后,在cmd里运行命令ant --version,若安装和配置成功,则会显示Ant版本信息。
样例
<?xml version="1.0"?>
<project name="helloWorld" default="sayBaseDir">
<!-- 变量 -->
<property name="basedir" value="D:\workspace\ant"/>
<property name="propertyStudy" value="example"/>
<property name="name" value="amigo"/>
<property name="age" value="25"/>
<property name="classes" value="build/classes"/>
<property name="build" value="build"/>
<target name="targetA" if="ant.java.version">
<!-- 打印一串字符 -->
<echo message="Java Version: ${ant.java.version}"/>
<!-- 将消息输出到文件中 -->
<echo message="Java Version: ${ant.java.version}" file="copy/a.txt" append="true"/>
</target>
<!-- 任务依赖 先执行targetA 如果amigo不存在则执行-->
<target name="targetB" depends="targetA" unless="amigo">
<description>
a depend example!
</description>
<!-- 打印一串字符 -->
<echo message="The base dir is: ${basedir}"/>
</target>
<target name="copyA">
<description>
a copy example!
</description>
<echo message="Copy start..."/>
<!-- 复制单个文件 -->
<copy file="copy/a.txt" tofile="copy/b.txt"/>
<!-- 对文件目录进行复制 -->
<copy todir="copy_res">
<fileset dir="copy"/>
</copy>
<!-- 文件复制到另外的目录 -->
<copy file="copy/a.txt" todir="copy_res/new_copy"/>
</target>
<target name="deleteA">
<description>
a delete example!
</description>
<echo message="Delete start..."/>
<!-- 删除某个文件 -->
<delete file="copy/b.txt"/>
<!-- 删除某个目录 -->
<delete dir="copy_res"/>
<!-- 删除所有的备份目录或空目录 -->
<delete includeEmptyDirs="true">
<fileset dir="." includes="**/*.bak"/>
</delete>
</target>
<target name="mkdirA">
<description>
a mkdir example!
</description>
<echo message="Mkdir start..."/>
<!-- 创建目录 -->
<mkdir dir="build"/>
</target>
<target name="moveA">
<description>
a move example!
</description>
<echo message="Mkdir start..."/>
<!-- 移动单个文件 -->
<move file="copy_res/a.txt" tofile="copy_res/b.txt"/>
<!-- 移动单个文件到另一个目录 -->
<move file="copy_res/b.txt" todir="copy_res/new_copy"/>
<!-- 移动某个目录到另一个目录 -->
<move todir="copy_res_new">
<fileset dir="copy_res"/>
</move>
</target>
<!-- 删除目录 -->
<target name="clean">
<delete dir="build"/>
</target>
<!-- 进行编译 -->
<target name="compile" depends="clean">
<mkdir dir="${classes}"/>
<javac srcdir="src" destdir="${classes}"/>
</target>
<!-- 运行编译运行 -->
<target name="run" depends="compile">
<java classname="HelloWorld">
<classpath>
<pathelement path="build/classes"/>
</classpath>
</java>
</target>
<!-- 生成jar文件 -->
<target name="jar" depends="run">
<jar destfile="helloworld.jar" basedir="build/classes">
<manifest>
<attribute name="Main-class" value="HelloWorld"/>
</manifest>
</jar>
</target>
<!-- 打war包-->
<target name="war" depends="compile">
<war destfile="${build}/antwebproject.war" webxml="WebRoot/WEB-INF/web.xml">
<!-- 拷贝WebRoot下除了WEB-INF和META-INF的两个文件夹-->
<fileset dir="WebRoot" includes="**/*.jsp"/>
<!-- 拷贝lib目录下的jar包-->
<lib dir="${lib}"/>
<!-- 拷贝build/classes下的class文件-->
<classes dir="${classes}"/>
</war>
</target>
</project>
Ant 学习及常用任务的更多相关文章
- ant学习
如果在构建文件当中depends后面有多个依赖,而且这多个依赖还相互依赖,那么只会执行被依赖的任务,不会重复执行任务 ant学习
- 【转】Ant学习笔记——自己构建Ant编译环境
自从年初开始用NetBeans6.0,才接触到Ant. 这是今年6月份的一篇Ant学习笔记.安装 1.下载并构建环境. 去官网下载src包和bin包.解压缩它们到同一目录,运行build.bat, ...
- Ant学习-002-ant 执行 TestNG 测试用例时 [testng] java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException 解决方案
上篇文章中概述了 Ant windows 环境的基本配置,此文讲述在初次使用的过程中遇到的问题. 今天通过 ant 执行 TestNG 测试用例时,执行报错,相应的错误信息如下所示: Buildfil ...
- Ant学习-001-ant 基础知识及windows环境配置
一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...
- ant 学习与开发
ant 学习与开发 http://www.blogjava.net/amigoxie/archive/2007/11/09/159413.html
- IOS学习:常用第三方库(GDataXMLNode:xml解析库)
IOS学习:常用第三方库(GDataXMLNode:xml解析库) 解析 XML 通常有两种方式,DOM 和 SAX: DOM解析XML时,读入整个XML文档并构建一个驻留内存的树结构(节点树),通过 ...
- Swift学习之常用UI的使用
Swift学习之常用UI的使用 最近笔者在开始学习苹果最新的编程语言,因为笔者认为,苹果既然出了这门语言就绝对不会放弃,除非苹果倒闭了(当然这里知识一个玩笑). 所以在不久的将来,swift绝对是iO ...
- Ant学习实例
ant 目录(?)[+] Ant学习实例 安装Ant 基础元素 project元素 target元素 property元素 完整示例 Ant学习实例 1.安装Ant 先从http://ant. ...
- IOS开发-OC学习-常用功能代码片段整理
IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...
随机推荐
- VC++ 一个简单的Log类
在软件开发中,为程序建立Log日志是很必要的,它可以记录程序运行的状态以及出错信息,方便维护和调试. 下面实现了一个简单的Log类,使用非常简单,仅供参考. // CLogHelper.h : hea ...
- (转)Oracle 获取上周一到周末日期的查询sql语句
-- Oracle 取上周一到周末的sql -- 这样取的是 在一周内第几天,是以周日为开始的 select to_char(to_date('20130906','yyyymmdd'),'d') f ...
- kettle系列-2.kettle源码结构分析
kettle是一个开源产品,产品本身设计是很优秀的,代码应该是很多开源爱好者用业余时间贡献的,代码整体结构还是比较容易理解的,但具体到每一个控件内部就因人而异了,感觉还是挺复杂的,肯定别人考虑得比较全 ...
- 浅析HTTP协议
HTTP协议是什么 HTPP协议是一种网际层协议,HTTP协议是无状态的,HTTP协议对用户是透明的. 每一次HTTP请求都是一次事务,一个HTTP事务是由一条请求命令和一个响应结果组成的,HTTP通 ...
- HTML行为元素和块级元素及语义化
块级元素 div - dl - form 交互表单h1 - h6 标题 hr 水平分割线p 段落ul 非排序列表table 表格 行内元素 a 链接br 换行em 强调i 斜体img 图片input ...
- Django【基础篇】
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- SQL 2012 Restore HeaderOnly
--USE [master] GO /****** Object: StoredProcedure [dbo].[zsp_RestoreHeaderOnly] Script Date: 2014/1/ ...
- iOS 用xib自定义view控件 debug笔记
1.在view不是很复杂的情况下,如果多次检查后依旧出现coding-compliant这种情况,干脆彻底删除这个xib重新新建一个xib来做一遍.(至今未明真相) 2.初始化xib中的view的大致 ...
- 玩转AR,联想将在2017年推出第二款Tango AR手机
今年6月份,联想与谷歌合作推出了全球首款消费级AR手机Phab2 Pro,并获得很大的关注.作为谷歌Project Tango的一部分,这款手机的最大亮点是它搭载了三颗后置摄像头和多个传感器,机身背面 ...
- Android 高亮显示文本中的关键字
总结:SpannableString用好,可以各种替换Span来操作各种内容 1.文本关键字高亮关键在于:SpannableString使用 主要就是通过关键字在文本的开始index,结束index来 ...