java 构建工具历史_Java构建工具Ant小记(一)

Ant简介

Ant是基于java的构建工具。理论上来说它类似与make工具,但是却克服了make的一些固有的缺陷.

传统的Make是基于操作系统shell的构建工具,虽然也可以基于工作的os对make工具进行扩展,但却难以实现跨平台构建.Ant基于java扩展功能,并且通过在xml中的target中定义的task进行构建任务的定义.其中每一个任务都是实现特定任务接口的类.同时Ant也提供了exec任务允许调用不同的操作系统的shell命令.

Ant主要元素介绍

Ant使用xml文件定义构建过程,每一个构建文件都会包括一个project和至少一个target.Target会包含task元素。每一个task元素可以通过id属性被引用.

1.Projects

Project元素有三个属性:name、default、basedir.同时其可以包含一个description元素对项目进行描述.

name:project的名称,不是必须属性;

default:执行构建的时候不指定要执行的target,则默认执行此设置的target;

basedir:设置基准目录,则后续所有的相对位置则以此设置为基准路径;如果不设置则以包含构建文件的目录为基准目录;

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

学习project的用法

${basedir}

${basedir}

View Code

1e5545bb2b2c23b5871b5c6cebfc32b9.png

2.Targets

每个Project会定义一个或者多个target.Target是待执行的task的集合.当启动执行ant的时候可以指定要执行的target,如果没有指定则执行project设置的默认的target/一个target可以通过depends来定义其依赖的其他的target,比如打包的target依赖编译的target.

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

description

excuting default target

excuting depends target

View Code

b95baac62f034b88a5a3664b6cbe4231.png

3.Tasks

Task是一段可以被执行的代码.一个task可以有多个属性(attribute).这些属性(attribute)的值可以引用属性(property),被引用的属性会在任务执行之前被解析成具体的值.task的通用结构如下

Ant既内置了一些常用的task,同时也提供了便利的扩展机制.

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

description

list current directory

make [${dirName}] directory

list current directory

View Code

4a41ba063f5247ee50b069ea7356f7fa.png

4.Properties

属性是通过设置一个可以在构建过程中重复使用的字符串来达到自定义构建过程的重要方式.通常情况下是在构建文件中直接定义属性,当然也可以在外部定义属性.属性的名字是大小写敏感的.属性的引用是通过${属性名}来实现的.Ant中的属性类似java里的字段,但是属性一经设置就不可更改.

Ant 中有许多预定义的属性.首先, Java 环境设置用于运行 Ant 的所有系统属性, 均可作为 Ant 属性使用,比如 ${user.home} .除了这些属性之外,Ant 还定义了它自己的一小组属性,包括${ant.version},这个属性包含 Ant 的版本;以及 ${basedir},这个属性是项目目录的绝对路径(由包含生成文件的目录所定义,或者由 project 元素的可选 basedir 属性所定义). 属性经常用于引用文件系统上的文件或目录,但是对于使用不同路径分隔符(例如,/ 与 \)的平台来说,这样可能在跨越不同平台时导致问题.Ant 的 location 属性专门设计用于以平台无关的方式包含文件系统路径.

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

simple propertiesExample build file

View Code

ab34395bf6310c112007bb5fd73d3e7b.png

运行Ant

Ant作为命令行工作,自然可以通过unix/linux的shell和windows的cmd进行条用.同时可以通过java的IDE进行调用,比如eclipse.

从命令行直接调用ant,这样ant会从当前目录寻找默认的build.xml,并使用默认的target执行生成过程.同时也可以通过ant -f buildfilename targetname来指定构建文件和target名称.

Eclipse对ant提供了强大的支持.首先支持语法高亮/智能提示/大纲视图.

e9b25904152fc47d432745182435bce4.png

在eclipse中选中构建文件,右键选择”Run As”-”Ant Build”,并执行即可.

8eaef05da0e305151c0963cb250e37c2.png

523daebaa96dbdb26b2c109543940947.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值