Ant标签详解--基础操作
Ant的一些核心概念:
build.xml:构建文件是以XML 文件来描述的,默认构建文件名为build.xml。
project:每个构建文件包含一个工程。
property:属性,一个property 有一个名称和一个值,Property 可以用于task 的属性值,通过${}来调用,类似于EL表达式。
depends:每个工程包含若干个目标(target),目标可以依赖于其他的目标。
task:目标包含一个或多个任务(task),一个task 是一段可执行的代码,"javac"就是一个典型的task。
下面是Ant一些常用标签的介绍,我用实例来讲解一下会更生动些:
1.<project>
每个构建文件都对应于一个项目,必须包含一个<project>元素,但是大型项目经常包含大量的子项目,每一个子项目都可以有自己的构建文件。
2.<target>
一个项目标签下可以有一个或多个target标签,target标签可以依赖于其他的target标签。例如,有一个target用于编译程序,另一个target用于生成可执行文件。在生成可执行文件之前必须先编译该文件,因此可执行文件的target依赖于编译程序的target。
Ant的depends属性指定了target的执行顺序,Ant会依照depends属性中target出现顺序依次执行每个target。在执行之前,首先需要执行它所依赖的target。一个target只能被执行一次,即使有多个target依赖于它。if或unless属性用来判断是否执行该target。
3.<property>
property标签可以帮助我们设置一些经常用到的属性,类似于Java中的变量,这样我们可以在多个task中方便调用,下面是一个引用属性文件的实例。
假设项目根目录存在build.properties 属性文件,用于保存公共的属性,其内容为:
- src = src
- dest = classes
然后在build.xml 中引用此属性文件:
我们可以通过<echo>${dest}</echo>输出相应信息测试是否载入成功。
4.文件相关
(1)<mkdir>
该标签用于创建一个目录,它有一个属性dir用来指定所创建的目录名
创建了一个目录,${dir}是前面已经声明的property属性
(2)<tempfile>
建立一个文件名称为temp.bak,后缀为.bak 的文件
(3)<rename>
重命名文件/文件夹
将hello.jar重命名为helloAnt.jar
(4)<move>
移动文件/文件夹
将${dest}目录下所有class文件移动到bin目录下,排除"_temp"结尾的class文件。
(5)<copy>
复制文件/文件夹
将file1复制为file2
将file复制到dir中
将src下的java文件复制到src2目录下,同时排除"_temp"结尾的java文件,两种写法均可。
复制文件和文件夹,跟上面的功能是一样的。
通常情况下,svn 文件默认是 excludes 的,所以这里要设置一下
删除src目录树,即所有子文件夹内容
(6)<delete>
删除一个文件或一组文件
删除file1文件
删除dir1目录
删除dir1下所有bak文件
删除dir1下所有文件
(7)<touch>
主要是用于修改最后修改时间
如果文件不存在,先创建文件,更改最后修改时间为当前系统时间
如果文件不存在,先创建文件,更改最后修改时间为11/11/2011 11:11 pm
更改文件夹最后修改时间,文件夹需存在
5.输出信息
(1)<echo>
用于打印/输出信息,类似于log4j的info方法。
以上四种方式均可以显示相应信息
将"hello Ant!"写入test.txt文件中
将"<test></test>"这段xml代码写入test.xml文件中
将所有"java."开头的属性写入到test.properties属性文件中
用于显示错误信息,类似于log4j的error方法。
与echo类似,fail提供四种基本的错误输出方式,当然fail也可以加入类似if,unless等业务逻辑进行判断是否显示。
6.流程,判断
2)如果文件存在则设置属性myJar 为true。
4)如果在classpath 下发现文件则设置属性为true
7.其他标签
<sql driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" userid="root" password="123456" encoding="utf-8" src="user.sql" >
<classpath refid="classpath" />
insert into user values(xxx,xxx,xxx,xxx);
</sql>
既可以在sql标签内容声明SQL语句,也可以通过src加载sql文件。
调用指定文件中的制定target:
upnzip也可以解压缩war包。
类似于Java的用法,这里我就不讲了。
Ant标签详解--基础操作的更多相关文章
- ant 标签详解
Ant 开发 Ant的构建文件当开始一个新的项目时,首先应该编写Ant构建文件.构建文件定义了构建过程,并被团队开发中每个人使用.Ant构建文件默认命名为build.xml,也可以取其他的名字.只不过 ...
- 转:springmvc常用注解标签详解
Spring5:@Autowired注解.@Resource注解和@Service注解 - IT·达人 - 博客园--这篇顺序渐进,讲得超级好--此人博客很不错http://www.cnblogs.c ...
- 引用 struts2标签详解 - wo的的日志 - 网易博客
引用 元元 的 struts2标签详解 引用 COLD 的 struts2标签详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@t ...
- html标签详解(2)
http标签详解 声明 1:这里的文字都是我从我自己csdn账号拷贝过来,是本人学习总结的结晶,所以请尊重本作品.2:如要要转载本文章,则要说明文字的出处.3:如有哪里不对欢迎指出. 在上一篇文章中主 ...
- html标签详解(1)
http标签详解及讲解 1.基础标签 <!DOCTYPE html> <!--表示文本类型--> <html> <!--<html> ...
- Mybatis批量insert 返回主键值和foreach标签详解
Mybatis批量insert 返回主键 Mybatis从3.3.1版本开始,支持批量插入后返回主键ID.首先对于支持自增主键的数据库使用useGenerateKeys和keyProperty,对于不 ...
- 【转载】html中object标签详解
[转载自http://blog.csdn.net/soliy/archive/2010/03/22/5404183.aspx] html标签之Object标签详解 作者:网络 出处:网络 ...
- ant 入门级详解
ant 入门级详解 [转载的地址(也是转载,未找到原文地址)]https://www.cnblogs.com/jsfx/p/6233645.html 1,什么是antant是构建工具2,什么是构建 ...
- Meta标签详解(HTML JAVASCRIPT)
Meta标签详解,在网上转的,希望对大家有用 您的个人网站即使做得再精彩,在“浩瀚如海”的网络空间中,也如一叶扁舟不易为人发现,如何推广 个人网站,人们首先想到的方法无外乎以下几种: ● 在搜索引擎中 ...
随机推荐
- JAVA I/O 与装饰者模式UML图
- keras-深度学习处理文本数据
深度学习用于自然语言处理是将模式识别应用于单词.句子和段落,这与计算机视觉是将模式识别应用于像素大致相同.深度学习模型不会接收原始文本作为输入,它只能处理数值张量,因此我们必须将文本向量化(vecto ...
- 数据可视化:使用python代码实现可视数据随机漫步图
#2020/4/5 ,是开博的第一天,希望和大家相互交流学习,很开森,哈哈~ #像个傻子哟~ #好,我们进入正题, #实现功能:利用python实现数据随机漫步,漫步点数据可视化 #什么是 ...
- Day_10【常用API】扩展案例2_获取输入日期是哪一年的哪一天的星期几
分析以下需求,并用代码实现 1)已知日期字符串:"2015-10-20",将改日期字符串转换为日期对象 2)将(1)中的日期对象转换为日历类的对象 3)根据日历对象获取改日期是星期 ...
- Day_12【集合】扩展案例2_键盘录入一个字符串,对其进行去重,并将去重后的字符串组成新数组
需求分析:键盘读取一行输入,去掉其中重复字符, 打印出不同的那些字符 思路: 1.键盘录入字符串 2.遍历字符串,将每个字符存储到集合中 3.将集合中重复的字符去掉 4.创建新集合,遍历老集合,获取老 ...
- LabVIEW(数据库连接)
Driver={Microsoft Access Driver (*.mdb)}; Dbq=路径; Uid=Admin; Pwd=密码; 插入: INSERT INTO xs(学号,姓名,专业名,性别 ...
- [hdu5255]枚举
思路:这题与csu1392题目类似,方法类似.枚举最高位,最低位和中间数字的长度,然后列等式,计算中间的数字,看长度是不是跟枚举的一致,需要注意的是中间数字可以有前导0,如果根据等式算出来的中间数字为 ...
- Java SPI机制简述
概述 SPI全称Service Provider Interface,是一种为框架提供良好扩展性的机制.一般由框架开发方定义接口规范(如java.sql.Driver),而第三方厂商为之提供自己的实现 ...
- SD实现原理学习,以及SD失效的问题解决
SD失效的问题可能解决方案: 1.有可能是图片的url地址不对,有可能浏览器可以打开,但是这个地址浏览器是做了处理的,所以浏览器能打开. 2.如果图片地址是Http,那么就需要关闭ATS. ATS ( ...
- transition完成事件
当transition事件完成时调用函数(移动端导航的动画消失效果). <!doctype html> <html> <head> <meta charset ...