从源码角度深入分析ant

从源码角度深入分析ant

ID:42114123

大小:274.92 KB

页数:37页

时间:2019-09-08

从源码角度深入分析ant_第1页
从源码角度深入分析ant_第2页
从源码角度深入分析ant_第3页
从源码角度深入分析ant_第4页
从源码角度深入分析ant_第5页
资源描述:

《从源码角度深入分析ant》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、从源码角度深入分析antAnt的基本概念首先是ant的基本概念:Project,Target,Tasks,Properties,Paths1.Projectbuild.xml文件最顶层的元素,它有三个可选的属性:名称(name):工程的名称默认(default):默认的目标(target)。基础目录(basedir):工程的根目录,工程所有的相对路径从此算起。2.target每个project定义了0个或者多个target,是project的次级目录。一个target是一组要执行的task组成的。当启动ant时,可以选择你想要

2、执行的target,如果没有指定,就执行project的属性default定义的target。可以依据条件(使用IF/UNLESS来决定是否执行。一个target的执行可以依赖另一个target<>target的依赖是可以传递的。依赖的target先执行。例如:其中,如果我们需要执行targetD,而D的执行依赖于TargetB和C,B和C又依

3、赖于A。因此,要执行targetD,首先要执行A,然后是B,然后是C,最后才是D1.Tasktask是一些可以执行的命令,它有许多属性(例如参数)。ant有超过80个核心task,超过60个可选task,超过100个第三方工具和tasko对于特定的问题,也可以自定义一个anttask扩展。2.Properties一个属性有名称和值,名称是大小写敏感。属性可以用在task的定义的属性中,可以通过使用${属性名称}来获取属性值,然后放置到task的属性中。例如:如果一个属性名为:builddir,其值为"build"。那么可以在task使用${bu

4、iddir}变量。在运行时就解析为buildo属性是不可变的,即一旦属性名及其值定义,编译中的其它部分只能引用不可以重新定义或者改变其值。4.1设置属性-前置属性当同一个属性被多次定义时,第一次的定义起效,接下来所有的定义都不会生效。下面是前置属性的规则:可以使用命令行定义前置属性:-Dname=value<project>元素下面的<property>元素根据书写的顺序定义。<target>元素下面的<property>元素根据它们执行的顺序。4.2设置属性示例设置一个属性foo.dist其值为,,dist,,:<propertyname="

5、foo.dist"value="dist,7>从一个名为"foo.properties"的文件中读取一组属性:从classpath的资源文件foo.properties中读取一组属性:task,那么ant可以访问所有的系统属性。例如:称,更多的系统信息参见system.getProperties()另外,ant还有一些内置属性:based

6、ir工程的基础目录的绝对路径(中定义的basedir属性)ant.file构建文件的绝对路径。ant.versionant的版本信息更多的内置属性:ant.project,name当前执行工程的名称,中定义的name属性。ant.java.versionant发现的JVM版本,当前包含的值:5path

7、entIocation="classes7>Ant执行流程接下来,我们分享一下ant解析配置文件build为tasks的顺序流程:MainEProtectDejfjxeqjtpc1:runBuildO.;21•••:executeTargelsQ;executcTa

8、rgetOje■Task4;executeSodtedTargetsOgi^erlprmTasks06!executed7:perfoffn]:Ant

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。