SlideShare una empresa de Scribd logo
1 de 21
明河 <minghe36@126.com>
ANT简介
 用于自动化批处理项目脚本的编译、打包、
  测试等;
 Ant是流程脚本引擎,不是脚本语言;
 Ant完成任务依赖于xml格式的构建文件;
 Ant是开源的、跨平台的、易用的。
为什么前端需要ant
 脚本庞大,按模块拆成多个子js文件,你
  需要个工具在发布时合并成1个js文件;
 希望有个工具可以自动压缩脚本;
 快速生成jsdoc文档;
 快速转移/删除指定文件;
…
应用ant维护的项目例子
Ant安装和配置
下载:http://ant.apache.org/bindownload.cgi

教程:
http://wiki.ued.taobao.net/doku.php?id=user
:ada:share:ant&s[]=ant

PS:必须安装JAVA环境
构建文件之起始
 必须是xml文件;
 默认为build.xml;
 根元素必须是project标签;
 project标签关键属性:name、default、
  basedir;
 有且仅有一个project;
构建文件之target
 一个工程允许存在多个target;
 更细的目标粒度,增强灵活性的同时,有
  利于维护;
 使用depends属性处理目标依赖。
构建文件之任务和数据元素
任务是最小的构建块,完成具体的项目工作;



数据元素,起到类似变量的作用,有二种类型。
1.特性:property标签,定义“变量”;

2.dataType:复杂数据集合。
构建文件之dataType



上述代码定义了一个文件集合(包含所有后缀是.source.js
和.source.css的文件)。
合并指定文件
 使用concat标签合并文件;
 destfile属性控制合并后文件输出路径;
 path子标签用于控制待合并的文件路径;
删除指定文件
 使用delete标签;
 File属性:待删除的文件;
 Dir属性:待删除的目录;
FileSet:文件集
 dir :文件目录
 includes :想要包含的文件集合
 excludes :想要排除的文件集合
 file :指定文件
 casesensitive :是否区分大小写
basename
获取指定文件的名称(可以排除特定文件后缀)

 file :文件路径
 property :属性名称
 suffix :删除后缀
antlib
Ant的每一个任务都定义在antlib。
命名空间为:antlib:net.sf.antcontrib
java程序源码必有net/sf/antcontrib/antlib.xml
Ant调用java程序
使用ant压缩文件
构建项目完整发布文件
properties配置文件
 在根目录下新建build.properties文件;
 加个时间戳配置:timestamp =
  20110808;
 在build.xml中引入该配置文件:
  <property file="build.properties" />
 build.properties文件内的property将覆盖
  build.xml中的同名property值。
完成build.xml
   修改文件的combines.dir目录,指向时间
    戳文件目录,该目录下就是指定日期发布
    的项目文件。
Ant与jsdoc
<taskdef name="jsdoctoolkit"
            classname="uk.co.darrenhurley.ant.tasks.JsDocToolkit"
            classpath="${jsdoc.dir}/jsdoc-toolkit-ant-task-
1.1.2.jar;${jsdoc.dir}/java/classes/js.jar"
           ></taskdef>
     <jsdoctoolkit template="jsdoc" jsdochome="${jsdoc.dir}/"
outputdir="${output.dir}/" inputdir="${src.dir}" encoding="gbk">

    </jsdoctoolkit>
END

Más contenido relacionado

La actualidad más candente

Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战Yong Luo
 
Load runner测试技术
Load runner测试技术Load runner测试技术
Load runner测试技术yiditushe
 
Tcon分享 芈峮
Tcon分享 芈峮Tcon分享 芈峮
Tcon分享 芈峮mijun_hlp
 
ASP.NET 5 的創新與變革
ASP.NET 5 的創新與變革ASP.NET 5 的創新與變革
ASP.NET 5 的創新與變革Will Huang
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽Will Huang
 

La actualidad más candente (6)

Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战Open stack在企业持续集成中的实战
Open stack在企业持续集成中的实战
 
Load runner测试技术
Load runner测试技术Load runner测试技术
Load runner测试技术
 
Tcon分享 芈峮
Tcon分享 芈峮Tcon分享 芈峮
Tcon分享 芈峮
 
Java - TA課 - 開發環境
Java - TA課 - 開發環境Java - TA課 - 開發環境
Java - TA課 - 開發環境
 
ASP.NET 5 的創新與變革
ASP.NET 5 的創新與變革ASP.NET 5 的創新與變革
ASP.NET 5 的創新與變革
 
開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽開發人員不可不知的 Windows Container 容器技術預覽
開發人員不可不知的 Windows Container 容器技術預覽
 

Destacado

Change Your Facebook Profile Language
Change Your Facebook Profile LanguageChange Your Facebook Profile Language
Change Your Facebook Profile LanguageSonia Saggu
 
jsTestDriver本地自动化测试 jsTestDriver本地自动化测试
jsTestDriver本地自动化测试 jsTestDriver本地自动化测试 jsTestDriver本地自动化测试 jsTestDriver本地自动化测试
jsTestDriver本地自动化测试 jsTestDriver本地自动化测试 minghe36
 
Protect Pen Drive (USB) Using Password
Protect Pen Drive (USB) Using PasswordProtect Pen Drive (USB) Using Password
Protect Pen Drive (USB) Using PasswordSonia Saggu
 
Register avast! free antivirus 2014 - Get 1 Year Licence Key
Register avast! free antivirus 2014 - Get 1 Year Licence KeyRegister avast! free antivirus 2014 - Get 1 Year Licence Key
Register avast! free antivirus 2014 - Get 1 Year Licence KeySonia Saggu
 
Disable windows 8 or 8.1 Startup Password
Disable windows 8 or 8.1 Startup PasswordDisable windows 8 or 8.1 Startup Password
Disable windows 8 or 8.1 Startup PasswordSonia Saggu
 

Destacado (7)

Bonsai show08
Bonsai show08Bonsai show08
Bonsai show08
 
Change Your Facebook Profile Language
Change Your Facebook Profile LanguageChange Your Facebook Profile Language
Change Your Facebook Profile Language
 
jsTestDriver本地自动化测试 jsTestDriver本地自动化测试
jsTestDriver本地自动化测试 jsTestDriver本地自动化测试 jsTestDriver本地自动化测试 jsTestDriver本地自动化测试
jsTestDriver本地自动化测试 jsTestDriver本地自动化测试
 
Protect Pen Drive (USB) Using Password
Protect Pen Drive (USB) Using PasswordProtect Pen Drive (USB) Using Password
Protect Pen Drive (USB) Using Password
 
Las redes sociales
Las redes socialesLas redes sociales
Las redes sociales
 
Register avast! free antivirus 2014 - Get 1 Year Licence Key
Register avast! free antivirus 2014 - Get 1 Year Licence KeyRegister avast! free antivirus 2014 - Get 1 Year Licence Key
Register avast! free antivirus 2014 - Get 1 Year Licence Key
 
Disable windows 8 or 8.1 Startup Password
Disable windows 8 or 8.1 Startup PasswordDisable windows 8 or 8.1 Startup Password
Disable windows 8 or 8.1 Startup Password
 

Similar a Ant构建工具快速入门

使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡guest2d0fe3
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡Cary Yang
 
It基础架构的自动化编排
It基础架构的自动化编排It基础架构的自动化编排
It基础架构的自动化编排Bill Wang
 
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版pigso
 
PHP WEB 应用组织与结构
PHP WEB 应用组织与结构PHP WEB 应用组织与结构
PHP WEB 应用组织与结构HonestQiao
 
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4Tao He
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯liuts
 
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Eric Xiao
 
教學投影片01_Vb2005
教學投影片01_Vb2005教學投影片01_Vb2005
教學投影片01_Vb2005洋夫 葉
 
Elixir 好用的編輯器
Elixir 好用的編輯器Elixir 好用的編輯器
Elixir 好用的編輯器bobo52310
 
做卓有成效的程序员
做卓有成效的程序员做卓有成效的程序员
做卓有成效的程序员Lv Jian
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Community
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileDanielle Womboldt
 
Workflow Overview
Workflow OverviewWorkflow Overview
Workflow OverviewKevin Cao
 
Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超drewz lin
 
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型Jackson Tian
 

Similar a Ant构建工具快速入门 (20)

Jobforcompal
JobforcompalJobforcompal
Jobforcompal
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
It基础架构的自动化编排
It基础架构的自动化编排It基础架构的自动化编排
It基础架构的自动化编排
 
使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版使用Nginx轻松实现开源负载均衡——对外版
使用Nginx轻松实现开源负载均衡——对外版
 
1~60
1~601~60
1~60
 
PHP WEB 应用组织与结构
PHP WEB 应用组织与结构PHP WEB 应用组织与结构
PHP WEB 应用组织与结构
 
C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4C语言benchmark覆盖信息收集总结4
C语言benchmark覆盖信息收集总结4
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯
 
Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出Node.js中间件 connect模块深入浅出
Node.js中间件 connect模块深入浅出
 
教學投影片01_Vb2005
教學投影片01_Vb2005教學投影片01_Vb2005
教學投影片01_Vb2005
 
Elixir 好用的編輯器
Elixir 好用的編輯器Elixir 好用的編輯器
Elixir 好用的編輯器
 
做卓有成效的程序员
做卓有成效的程序员做卓有成效的程序员
做卓有成效的程序员
 
Baidu Cloud Foundry
Baidu Cloud FoundryBaidu Cloud Foundry
Baidu Cloud Foundry
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
 
Workflow Overview
Workflow OverviewWorkflow Overview
Workflow Overview
 
Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超
 
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
从无阻塞并行脚本加载(Lab.js)到浏览器消息模型
 
SWsoft_Prim@Telecom
SWsoft_Prim@TelecomSWsoft_Prim@Telecom
SWsoft_Prim@Telecom
 

Ant构建工具快速入门