ant 语法

来源:互联网 发布:淘宝能开发票吗 编辑:程序博客网 时间:2024/05/01 12:21

1.ant的编译文件默认为build.xml,一般无需改变。

2.build.xml的根节点为<project>,一般格式如下:

   <project name="AntStudy" default="init" basedir=".">

   name为工程名称;

   default为默认的target,就是任务;

   basedir就是基路径。一般为"."

3.property可以定义变量,一般格式如下:

   <property name="test" value="shit" />

   引用的时候这么引用${test}

   如果变量是路径的话,则可以这么定义:

   <property name="src" value="src" />

   这么定义就可以不用担心"/"和"/"的问题了。

4.定义target:

   <target name="compile" depends="init"><!--other command--></target>

   name的值为target的名称,可以在编译的时候指定是完成哪个target,

   否则采用project那里定义的default。

   depends则定义了依赖关系,值为其他target的name。多个依赖关系用","隔开,

   顺序执行完定义的依赖关系,才会执行这个target。

   target在build.xml中定义的顺序无所谓,但是depends中的顺序必须正确。

5.编译源代码:

   <javac srcdir="src" destdir="classes">

     <classpath> 

             <fileset dir="lib"> 

                 <include name="**/*.jar"/> 

             </fileset>

         </classpath> 

   </javac>

   这个标签自动寻找src中以.java为扩展名的文件,并且调用javac命令。

   这个任务有个特点,它仅仅编译那些需要编译的源文件。如果没有更新,就不需要编译,

   速度就加快。

   编译文件和ant使用的同一个jvm,大大减少资源浪费。

   还可以指定classpath。classpath中指定文件夹,然后指定包含的文件的规则。

6.创建jar文件:

   <jar destfile="antstudy.jar" basedir="classes">

<manifest>

   <attribute name="Main-Class" value="bean.ant.TestAnt" />

</manifest>

   </jar>

   manifest指定manifest中文件的属性,比如可以指定Main-Class

7.创建目录:

   <mkdir dir="classes" />

   创建dir的文件夹。

8.删除目录:

   <delete dir="classes" />

   删除classes文件夹

9.拷贝文件:

    <copy todir="${backup.dir}"> 

        <fileset dir="${classes.dir}"/> 

    </copy>

    把fileset文件夹下面的所有文件拷贝到 backup.dir

10.执行一个类:

    <java dir="${build}" classname="bean.ant.TestAnt" fork="true" />

    dir为工作文件夹,classname为类名。fork要设置为true。因为你编译放class的文件夹

    正在使用,所以要新打开一个虚拟机。

11.生成javadoc:

<javadoc sourcepath="${src}" destdir="${docs}/javadoc" encoding="utf-8" charset="utf-8" 

windowtitle="Spring Framework" source="1.5" access="package" author="true" version="true" 

use="true" defaultexcludes="true">

<doctitle>

   <![CDATA[<h1>Ant Test</h1>]]></doctitle>

<bottom>

   <![CDATA[<i>Copyright (c) 2002-2007</i>]]></bottom>

<packageset dir="${src}">

   <include name="bean/ant/**" />

</packageset>

</javadoc>

encoding="utf-8" charset="utf-8" 都需要,否则javadoc是乱码。

packageset一定要设定,否则找不到源码,格式可以是**.意思是所有源码。

12.path的使用,可以定义path对象,在其他地方可以直接复用。

<path id="1"> 

   <pathelement location="."/> 

   <pathelement location="./lib/junit.jar"/> 

</path>

<path id="2"> 

   <fileset dir="lib"> 

   <include name="**/*.jar"/> 

   </fileset> 

</path>

<javac srcdir="./src" destdir="./classes"> 

   <classpath refid="1"/> 

</javac>

<javac srcdir="./src" destdir="./classes"> 

      <classpath refid="1"> 

          <pathelement location="."/> 

          <pathelement location="./lib/junit.jar"/> 

      </classpath> 

</javac>

13.单元测试:

<junit printsummary="yes">

   <classpath refid="testpath" />

   <batchtest>

    <fileset dir="${test}">

     <include name="**/*Test.java" />

    </fileset>

   </batchtest>

</junit>

    batchtest为批量test,需要设置符合条件的类名称。

    在进行单元测试之前必须先进行编译。

    配置的classpath指向一个testpath的path,就是上面哪一条里面讲的。

    一开始会报一个找不到junit的错误,可以用下面方法解决:

    Windows>>Preference>>Ant>>Runtime>>Classpath

    添加一个junit.jar 在 [eclipse home]/plugins/org.junit_3.8.1可以找到。


 转自:http://blog.csdn.net/solaris_navi/article/details/5347799

0 0
原创粉丝点击