对ANT第一个例子build.xml的解析

  在build.xml中有很多标签需要了解,在这里,我就简单的说说,我第一ant例子中使用到的标签。

①<?xml version="1.0" encoding="utf-8"?>  这是xml的声明,没什么好说的。其实,在build.xml中,这个声明是可以不要的。如果出现了什么乱码,就可以考虑改变编码格式。

②<project name="firstAntFile" default="run" basedir="."> 中的project是build.xml的根元素;name属性表示的是project的名字,这名字是任意的,当然,一般都会取一个有意义的名字;default是表示build.xml默认执行的target(任务);basedir表示的project的基目录路径,"."表示的是当前路径。

③<property name="firstAnt.jar" value="firstAnt.jar"/>设置属性的名字和对应的值;特别注意:在ant中,属性的值一旦设置,就不可改变!!!这是和其他语言不同的地方。设置属性的名字和值,只是方便下面的引用;就是用名字代替属性的值。在较长属性值中,发挥巨大的威力,方便编程。

④   <target name="init"> .....   </target>  target表示的是任务,简单理解,就是能够完成一定功能的最小工作单位(在ant中)。

⑤<mkdir dir="${dest}"/> 顾名思义,就是创建文件夹,在ant中,要使用已定义的属性要用"${属性名}"这种方式来引用。这个语句的意思就是在project的基目录下创建dest文件夹,再在dest文件夹中创建classes文件夹。

⑥<javac srcdir="${src}" destdir="${dest}"/> 就是编译"${src}"即src下面的java文件,并且把编译好的.class文件放到"${dest}"中去。

⑦<jar jarfile="${firstAnt.jar}" basedir="${dest}"/> 这个语句,就是要ant帮我们打jar包的意思,jarfile表示达成jar包后,jar包的名字,"${firstAnt.jar}"表示引用先前定义好的变量名为firstAnt.jar的值,basedir就是把"${dest}"中的class文件打包。

⑧<java classname="com.kan.antfile.firstAntFile" classpath="${firstAnt.jar}"/>这个语句是运行java文件的意思。classname指代的是所要运行的.class文件,classpath和java中的classpath一样(可以参考我博客中javaSE部分关于classpath和path的区别)

⑨<delete dir="${dest}"/> 删除文件夹

⑩<ant target="clean"/> 运行名字为clean的target。 

       我在这里补充一点,在dos窗口里面,可以精确控制ant运行的target,比如说,在dos窗口中输入:ant  init;这样ant只运行target名字为init的部分,在这里就是只运行<mkdir dir="${dest}"/>。

你可能感兴趣的:(ant,构建工具)