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. 打印n阶菱形

    #打印n阶菱形 def print_rhombus(n): #打印正三角 for i in range(1,n+1): x_num = 2*i-1 #每一层的*数量 space_num = n - i ...

  2. python学习之路网络编程篇(第五篇)

    paramiko简介 paramiko 是基于Python实现的SSH2远程安装连接,支持认证及秘钥方式.可以实现远程命令执行.文件传输.中间SSH代理等功能. paramiko安装 #!/bin/b ...

  3. python学习之路网络编程篇(第三篇)

    python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. #!/usr/bin/env python # -*- coding:utf-8 -*- import t ...

  4. 关于go语言的通道

    1.记一次gorountine导致的泄漏 在项目中使用https://github.com/deckarep/golang-set这个三方包造成了gorountine泄漏.先来看一下这个包的迭代器设置 ...

  5. 解放双手——Android的自动化构建及发布

    在一个App从开发到测试的过程中,我有很长一段时间都是这样做的:打包,上传到tower,在tower上编写本次更新说明,通知测试.一般情况下,打包及上传的过程大概也就2分钟.除此之外,由于项目代码有作 ...

  6. How To determine DDIC Check Table, Domain and Get Table Field Text Data For Value?

     How To determineDDIC Check Table, Domain and Get Table Field Text Data For Value? 1.Get Table Fie ...

  7. React Native 4 for Android源码分析 一《JNI智能指针之介绍篇》

    文/ Tamic: http://blog.csdn.net/sk719887916/article/details/53455441 原文:http://blog.csdn.net/eewolf/a ...

  8. MySQL系列教程(三)

    mySQL集群(cluster) 这一章,我根本不打算写,因为mySQL 的 官方Cluster方案基本上都是bullshit,尤其是它的官方集群方案,竟然都无人维护了,而且mySQL集群完全可以用眼 ...

  9. Dynamics CRM2016 WebApi查询之alternate key

    本篇继续来分享web api查询中的一条,利用alternate key进行查询. alternate key是个什么东西这里就不解释了如果有不知道的可以去看sdk.这里以房号信息实体为例,新建一个键 ...

  10. Android开发技巧——Camera拍照功能

    本篇是我对开发项目的拍照功能过程中,对Camera拍照使用的总结.由于camera2是在api level 21(5.0.1)才引入的,而Camera到6.0仍可使用,所以暂未考虑camera2. 文 ...