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(指定是否记录所拷贝的文件,默认为不记录),下面是一些典型的应用实例:
拷贝一个目录到另一个目录下


(6)mkdir:此标记用于创建一个目录,如果其父目录不存在,也会被同时的创建;具体案例如:<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>

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

ant+eclipse知识点详解及使用案例的更多相关文章

  1. linux管道命令grep命令参数及用法详解---附使用案例|grep

    功能说明:查找文件里符合条件的字符串. 语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>] ...

  2. Activity知识点详解

    Activity知识点详解 一.什么是Activity 官方解释: The Activity class is a crucial component of an Android app, and t ...

  3. Hive学习之三 《Hive的表的详解和应用案例详解》

    一.Hive的表 Hive的表分为内部表.外部表和分区表. 1.内部表,为托管表. 2.外部表,external. 3.分区表. 详解: 内部表,删除表的时候,数据会跟着删除. 外部表,在删除表的时候 ...

  4. python爬虫知识点详解

    python爬虫知识点总结(一)库的安装 python爬虫知识点总结(二)爬虫的基本原理 python爬虫知识点总结(三)urllib库详解 python爬虫知识点总结(四)Requests库的基本使 ...

  5. 移动端js触摸touch详解(附带案例源码)

    移动端触摸滑动原理详解案例,实现过程通过添加DOM标签的触摸事件监听,并计算触摸距离,通过距离坐标计算触摸角度,最后通过触摸角度去判断往哪个方向触摸的. 触摸的事件列表 触摸的4个事件: touchs ...

  6. 「JVM」知识点详解一:JVM运行原理详解

    前言 JVM 一直都是面试的必考点,大家都知道,但是要把它搞清楚又好像不是特别容易.JVM 的知识点太散,不系统,今天带大家详细的了解一下jvm的运行原理. 正文 1 什么是JVM? JVM是Java ...

  7. Oracle 冷备份详解【实战案例】

    Oracle 冷备份详解 --准备工作 select * from v$database; select file_name from dba_data_files; create tablespac ...

  8. OpenStack知识点详解

    一:云计算     一.起源 1. 云计算这个概念首次在2006年8月的搜索引擎会议上提出,成为了继互联网.计算机后信息时代的又一种革新(互联网第三次革命). 2. 云计算的核心是将资源协调在一起,使 ...

  9. Java Ant build.xml详解

    1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台   --因为 ...

随机推荐

  1. 安利三款提升幸福感的chrome插件

    谷歌访问助手 chrome浏览器一直是各大码农推荐的比较好用的浏览器,速度快.插件多. 但是由于众所周知的原因导致了谷歌账号同步.扩展商店访问慢甚至打不开的情况. 谷歌访问助手就是用来解决此问题的. ...

  2. C语言关闭日志文件时忘了将日志文件全局变量指针置为NULL

    C语言写了一个write_log函数以写日志,写了一个close_log_file函数以关闭日志,声明了一个日志文件全局变量文件指针plogFile. write_log中首先判断plogFile是否 ...

  3. Docker容器访问控制

    容器的访问控制,主要通过 Linux 上的 iptables 防火墙来进行管理和实现.iptables 是 Linux 上默认的防火墙软件,在大部分发行版中都自带. 容器访问外部网络 容器要想访问外部 ...

  4. 【伯乐在线】这些 Git 技能够你用一年了

    原文出处: Pyper   欢迎分享原创到伯乐头条 用git有一年了,下面是我这一年来的git使用总结,覆盖了日常使用中绝大多数的场景.嗯,至少是够用一年了,整理出来分享给大家,不明白的地方可以回复交 ...

  5. ejabberd编译更新脚本

    ejabberd编译更新脚本 (金庆的专栏 2016.8) 用rebar编译ejabberd源码,然后复制编译所得beam文件到ejabberd安装目录, 调用ejabberdctl热更新. call ...

  6. Sqoop-1.4.5用户手册

    本文以Sqoop User Guide (v1.4.5)为主,对Sqoop-1.4.5的用户手册进行翻译,同时会结合一些实际操作中的注意事项一并写入.由于原文档很长,本文首先会以实际使用到的部分为主, ...

  7. makefile的命令包定义及使用

    下面以\build\core\product.mk下面的内容为例介绍: define _find-android-products-files $(shell test -d device & ...

  8. SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

     要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中 ...

  9. mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息

    1.1. mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息 有时候我们想要获取到数据库的基本信息,当前程序连接的那个数据库,数据库的版本信息,数据库中有哪些表,表中都有什么字段 ...

  10. 1Nginx+fastdfs分布式文件存储

     准备,将所需的软件传到服务器上,服务器的列表如下: fastdfs-nginx-module_v1.15.tar.gz FastDFS_v4.06.tar.gz libevent-2.0.21- ...