编程语言爱好者程序园

Ant 的特点

2019-08-08  本文已影响3人  赵阳_c149

Apache Ant 一种基于XML的脚本语言,主要用与build。较之于makefile,有一下几个优点:

  1. 可移植性。Makefile依赖于shell脚本,因此高度依赖环境,也就是说,有必要为相同的工程在linux和windows上创建不同的make file文件。而ant不需要,因为ant是基于java和XML的。而且ant的功能已经被许多用户在多操作系统上进行了验证。
  2. 更多更有用的工具。例如,可以通过引入AntContrib对其进行扩展,以支持<if>和<for>等控制流程的task。(尽管为了保持逻辑的简单性,有时推荐过多使用控制流程的task)
  3. 可扩展性较强。例如Oracle的测试框架testlogic。
  4. Ant源文件的结构性使得测试变得更加便捷。

关于其中结构性,个人认为主要体现在一下几个方面:

  1. Ant的buildfile是用XML写的。每个buildfile包含一个project节点,project节点至少要有一个target节点。target节点包含若干个task节点。
  2. Ant支持节点之间的引用。例如,每个节点都有一个唯一的id,通过这个id,它可以被其他节点引用。
  3. 对于build中较为常用的PATH和CLASSPATH类型对象,Ant提供了种类丰富的结构化定义方法。支持路径,文件集合(包含特定格式的文件名,排除特定格式的文件名,文件夹,文件列表引用)
<classpath>
  <pathelement path="${classpath}"/>
  <fileset dir="lib">
    <include name="**/*.jar"/>
  </fileset>
  <pathelement location="classes"/>
  <dirset dir="${build.dir}">
    <include name="apps/**/classes"/>
    <exclude name="apps/**/*Test*"/>
  </dirset>
  <filelist refid="third-party_jars"/>
</classpath>

<path id="base.path">
  <pathelement path="${classpath}"/>
  <fileset dir="lib">
    <include name="**/*.jar"/>
  </fileset>
  <pathelement location="classes"/>
</path>

【1】http://ant.apache.org/manual/

上一篇下一篇

猜你喜欢

热点阅读