Ant是一种基于Java的build工具。由一些内置任务组成。这些任务用于编译和运行java应用、创建文档、文件和文件夹的操作。

理论上来说。它有些类似于(Unix)C中的make ,但没有make的缺陷。

眼下的最新版本号为:Ant
1.9.4。

我们已经有了make, gnumake, nmake, jam以及其它的build工具为什么还要要一种新的build工具呢

由于Ant的原作者在多种(硬件)平台上开发软件时,无法忍受这些工具的限制和不便。

类似于make的工具本质上是基于shell(语言)的:他们计算依赖关系。然后运行命令(这些命令与你在命令行敲的命令没太大差别)。

这就意味着你能够非常easy地通过使用OS特有的或编写新的(命令)程序扩展该工具;然而,这也意味着你将自己限制在了特定的OS,或特定的OS类型上。如Unix。

Ant的构建文件:

   当開始一个新的项目时,首先应该编写Ant构建文件。

构建文件定义了构建过程。并被团队开发中每一个人使用。

Ant构建文件默认命名为build.xml。也能够取其它的名字。仅仅只是在执行的时候把这个命名当作參数传给Ant。

构建文件能够放在不论什么的位置。

一般做法是放在项目顶层文件夹中,这样能够保持项目的简洁和清晰。

    Ant构建文件是XML文件。

每一个构建文件定义一个唯一的项目(Project元素)。每一个项目下能够定义非常多目标(target元素),这些目标之间能够有依赖关系。当运行这类目标时,须要运行他们所依赖的目标。

每一个目标中能够定义多个任务,目标中还定义了所要运行的任务序列。Ant在构建目标时必须调用所定义的任务。

任务定义了Ant实际运行的命令。Ant中的任务能够为3类。

(1) 核心任务。核心任务是Ant自带的任务。

(2) 可选任务。可选任务实来自第三方的任务,因此须要一个附加的JAR文件。

   (3) 用户自己定义的任务。用户自己定义的任务是用户自己开发的任务。


Ant的长处:
 

跨平台性。Ant是纯Java语言编写的。因此具有非常好的跨平台性。

         操作简单。Ant是由一个内置任务和可选任务组成的。Ant执行时须要一个XML文件(构建文件)。Ant通过调用target树,就能够执行各种task。

每一个task实现了特定接口对象。因为Ant构建文件时XML格式的文件,所以非常easy维护和书写,并且结构非常清晰。

         Ant能够集成到开发环境中。因为Ant的跨平台性和操作简单的特点,它非常easy集成到一些开发环境中去。

J2EE之ANT的更多相关文章

  1. java System.getProperty()参数大全

    java.version Java Runtime Environment versionjava.vendor Java Runtime Environment vendorjava.vendor. ...

  2. java开发工具比较(16个工具修订版)

    1.JDK (Java Development Kit)Java开发工具集 SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK).开发人员和最终用户可以利 ...

  3. Java开发工具全面比较

    1.JDK (Java Development Kit)Java开发工具集 从初学者角度来看Java开发工具,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对 ...

  4. JAVA程序员常用开发工具

    1.JDK (Java Development Kit)Java开发工具集 SUN的Java不仅提了一个丰富的语言和运行环境,而且还提了一个免费的Java开发工具集(JDK).开发人员和最终用户可以利 ...

  5. Java入门之IDE集成开发环境安装及配置

    常用的开发工具 一.Eclipse Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台.就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境.幸运的是,Eclipse ...

  6. 在intellij idea 中怎么不用git 解除关联

    展开全部 file ->settings->version control 选中这一栏,右边有个 点红色减号,就解除了,然后去项目目录下删除.git这个文件夹,你可以不删除,为了以后继续关 ...

  7. java运行环境搭建

    java运行环境搭建 1.安装jdk下载和安装 1). java是Sun公司的产品,由于Sun公司被Oracle公司收购,因此jdk可以在Oracle的官网下载.网址:https://www.orac ...

  8. IntelliJ IDEA 2018 for Mac专业使用技巧

    IntelliJ IDEA 2018 for Mac是一个综合性的Java编程环境,被许多开发人员和行业专家誉为市场上最好的IDE,它提供了一系列最实用的的工具组合:智能编码辅助和自动控制,支持J2E ...

  9. IntelliJ IDEA 2018 for Mac使用技巧

    IntelliJ IDEA 2018 for Mac是一个综合性的Java编程环境,被许多开发人员和行业专家誉为市场上最好的IDE,它提供了一系列最实用的的工具组合:智能编码辅助和自动控制,支持J2E ...

随机推荐

  1. C++ - 容器(container)的erase()函数

    容器(container)的erase()函数 本文地址: http://blog.csdn.net/caroline_wendy/article/details/23996013 容器(contai ...

  2. Git服务器 gitweb与gitLab的区别

    昨天我们已经把Git服务器搭建完成了,工程的上传与下载都可以了,不过有些人不喜欢使用git命令进行操作.所以我们就搭建一个可视化操作的环境!配置gitweb和gitlab两种访问方式! 一,配置git ...

  3. js中json的转换

    //aa='{"id":0,"appId":"app***********Id","appSecret":"a ...

  4. undefined和null的区别

    在javascript中undefined和null几乎是没有区别的 undefined==null;//true;   区别:   null是一个表示“无”的对象,转为数值为0:或者说没有对象,此处 ...

  5. eclipse中多个工程编译到同一个目录下

    1.点击link source  2.选择Java(ps:Java文件目录)或者resource(ps:配置文件目录)  3.最后结果,然后使用project中的clean进行编译,就可以把两个工程编 ...

  6. enumerateObjectsUsingBlock VS for(... in ...)

    enumerateObjectsUsingBlock VS for(... in ...) for(... in ...)用起来非常方便.简洁,同时enumerateObjectsUsingBlock ...

  7. Java IO4:字符流进阶及BufferedWriter、BufferedReader

    字符流和字节流的区别 拿一下上一篇文章的例子: 1 public static void main(String[] args) throws Exception 2 { 3 File file = ...

  8. 导入android项目在eclipse中会报@Override错误

    很多时候导入android项目在eclipse中会报@Override错误,这是由于java编译器的版本不正确,Java 1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明:但1. ...

  9. EasyUI TextBox的keypress

    关于EasyUI TextBox的事件好像不多,像keypress,keydown在textbox的事件里都没有,所以要用这些事件要采取一些特殊的方法,今天用到了这些就记录一下,有两种方法, 第一种: ...

  10. 子元素用margin-top 为什么反而作用在父元素上?对使用margin-top 的元素本身不起作用?

    在这个说明中,“collapsing margins”(折叠margin)的意思是:2个或以上盒模型之间(关系可以是相邻或嵌套)相邻的margin属性(这之间不能有非空内容.padding区域.bor ...