ant+eclipse知识点详解及使用案例

ant的优点和地位就不再阐述,下面直接上知识点:
在java中使用xml文件开发,有以下基本语法
(1)project:每个ant程序有且只有一个此标签,而且是类似于html的总标签,有name,default,description,basedir四个属性,当然了我们也可以写到标签内,也可以单独的写成一个嵌套在project标签内的子标签,这四个属性中最为重要的就是default属性,必不可少;basedir属性一般都是“.”;

(2)target:一个项目可以定义多个target标签,一个标签可以依赖其他的target标签,使用depends属性就可以了,但是执行的顺序按照“只要某个target依赖于另一个target,后者就会被先执行”的标准,还有就是在标签示例中有一个default=”all”,这说明在默认情况下all这个target会被执行;不常用的属性还有if(仅当属性设置时执行目标)和unless(仅当属性没有设置时执行目标),description(目标的描述),name属性必不可少,因为这个名字会被其他的target作为depends的标记;

(3)property:一个项目可以有很多的property,可以在构建文件中使用ant内置的属性标记property。其以名值对的方式存在,对属性值的引用可以通过”${propertyName}”来实现。

(4)echo:此标记用于将消息写到System.out,有以下两种方式:

<echo message="Message you want"/>

<echo>Message you want</echo>```

;此标签有常用的三个属性,message,file(输出的文件),append(用于将输出追加到文件之后,而非覆盖文件)


(5)copy:此标记用于将一个或一组文件从一处拷贝到另一处。常用的属性有以下几个,file(要移动的源文件),tofile(目标文件),todir(目标文件夹),overwrite(指定是否覆盖目标文件,默认是不覆盖),includeEmptyDirs(指定是否拷贝空的文件夹,默认为拷贝),failonerror(指定目标文件或文件夹没有发现是否自动停止,默认是自动停止),verbose(指定是否记录所拷贝的文件,默认为不记录),下面是一些典型的应用实例:
拷贝一个目录到另一个目录下















6mkdir:此标记用于创建一个目录,如果其父目录不存在,也会被同时的创建;具体案例如:<mkdir dir="${dist.javadocs}"/>其中dir属性制定了所创建的目录名称。


(7)jar:此标记用于将.class文件打包,生成一个.jar文件有以下几个常用的属性,destfile(打包后的.jar文件名称),includes(包中要包含在内的文件),excludes(包中所要排除的文件),basedir(要打包的文件目录)。具体的使用案例有:
将"${build}/classes"下面的所有的文件打包到"${dist}/lib/app.jar"




(8)<javac>:此标记用于变异一个或一组java文件,常用的属性如下,srcdir(被编译的源文件的目录),destdir(.class文件的输出目录),includes(),excludes(),debug(编译时是否包含调试信息),classpath(编译时使用到的类的路径),fileonerror(),verbose(提供详细的输出),optimize(编译时是否使用优化)。下面的是一个具体的使用案例:编译${src}目录及其子目录下的所有的.jave文件,.class 文件将放在${build}指定的目录下,classpath表示要用到的类文件或者目录,debug设置为on表示输出调试信息

`<javac srcdir="${src}" destdir="${build}" classpath="abc.jar" debug="on"/>`


(9)<java>:标记用来执行编译生成的.class文件,常用的属性有以下几个,classname(要执行的里的名称),jar(包含该类的jar文件名),classpath(执行时用到的类的路径),output(输出文件),append(追加或者覆盖默认文件),fork(在一个新的虚拟机中运行该类),fileonerror(),使用方法见下面:





在classname中指定要执行的类,在classpath中设置要使用的类的路径


(10)<delete>:此标记用来删除一个文件或者一组文件。当其属性名为includeEmptyDirs为true时,删除指定的目录,包含它自己。


ant的具体的使用案例,为了演示效果,我们在eclipse中新建一个项目,内写一个名为HelloWorld.java的类,代码如下:
package com.tiger;

public class HelloWorld {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println("世界,你好!");
    }

}

然后创建一个名为build.xml的文件,右键使用ant editer 打开,然后输入如下代码:



<?xml version="1.0" encoding="UTF-8"?>
<!-- ====================================================================== 
     2015年10月10日 下午1:23:10                                                        

     project    
     description

     Administrator                                                                
     ====================================================================== -->
<project  default="build" basedir=".">
    <property name="appname" value="HelloWorld"></property>
    <property name="base" value="."></property>
    <property name="src" value="src"></property>
    <property name="build" value="classes"></property>
    <property name="myclasspath" value="${build}"></property>
    <description>
            How to make description ?
    </description>

    <!-- ================================= 
          target: default              
         ================================= -->
    <target name="build" >
        <mkdir dir="${build}"/>
        <javac classpath="${myclasspath}" srcdir="${base}" destdir="${build}">
            <include name="**/*.java"/>
        </javac>
    </target>

    <!-- - - - - - - - - - - - - - - - - - 
          target: depends                      
         - - - - - - - - - - - - - - - - - -->
    <target name="clean">
        <delete  includeemptydirs="true">
            <fileset dir="${build}"></fileset>
        </delete>
    </target>
</project>

,然后运行就可以看到具体的的结果了。好了,差不多就是这些了。

上一篇:易错点小消除--递增运算符


下一篇:8. ㊙ Python 集合三板斧,滚雪球学 Python