1.Ant简介
Apache Ant是一个将软件编译/测试/部署等步骤联系在一起加以优化的一个构建工具,常用于java环境中的软件开发。Ant的默认配置文件是build.xml。
对java语言的支持比较好。
 
2.Ant的优势
跨平台性:Ant是纯java语言编写的,所以具有很好的跨平台性。
操作简单:Ant是由一个内置任务和可选任务组成的。Ant运行时需要一个xml文件(构建文件)。
语法清晰:和 make 比较 (C 语言)
功能强大:当需要开发一些ant插件的时候,会发现更多的功能。
 
3.Ivy
Ivy是一个跟踪管理项目直接依赖关系的工具。Ivy具有很好的灵活性和可配置性,使其可以适应各种不同的依赖管理和构建过程要求;虽然Ivy作为依赖管理工具,其可以与Apache Ant进行紧密集成,在依赖管理中充分利用Ant提供的强大任务功能。Ivy是一个开源项目,它提供了很多强大的功能,但是最受欢迎和最有用的特性是它的灵活性/与ant集成/传递依赖管理。
ivy.xml :
<ivy-module version="2.0">
    <info organisation="wfth" module="wfth.alm" />
    <dependencies>
        <dependencies org="org.apache.commons" name="common-collections4" rev="4.0" />
    </dependencies>
</ivy-module>
ant的build.xml中project加上属性   xmlns:ivy="antlib:org.apache.ivy.ant"
在target中使用 <ivy:retrieve/>下载依赖的jar包
 
4.使用Ant
Ant的默认配置文件是build.xml,可以通过配置build.xml执行ant任务
ant命令格式 ant [options] [target ...]
执行build.xml脚本文件中名为dist的target  ant -f build.xml dist
执行默认脚本文件,即build.xml的dist target  ant dist
执行默认脚本文件默认target ant
 
5.build.xml结构
 
6.ant的antcall任务 运行一个ant目标
属性:
(1)target:在AntCall任务中target属性的作用是指定要被调用执行的target,通过名称指定这个target属性是必需的。
值得注意的是,当通过AntCall任务调用的target存在依赖的target(depends中指定了target),则depends属性中被
指定的target也会被执行。
(2)inheritAll:用于指定是否继承当前的属性。默认为true,代表被调用的target可使用这些属性。
(3)inheritRefs:用于指定是否覆盖reference属性或者是否建立一个对当前reference属性的引用。在默认的情况下,AntCall任务不会
覆盖reference属性,除非把inheritRefs属性设为true,默认为false。
<antcall target="A" />
 
7.ant的fileset任务
fileset是一个嵌套元素(在其他任务元素中嵌套,比如copy)
<fileset dir="${server.src}" casesensitive="yes">
    <include name="**/*.java" />
    <exclude name="**/*Test*"/>
</fileset>
从一个“根目录”开始搜索的一组文件
通过patternsets和selectors
可以作为文件处理的task的子元素
可以定义并被引用
 
8.ant的path任务
path定工程依赖的jar包
例:
<path id="project.class.path">
    <pathelement location="${jdk.home}/jre/lib/rt.jar"/>
    <pathelement location="${jdk.home}/lib/tools.jar"/>
    <pathelement location="${jdk.home}/lib/servlet-api.jar"/>
    <pathelement location="${jdk.home}/lib/jsp-api.jar"/>
    <pathelement location="${weblogic.lib}/weblogic.jar"/>
    <fileset file="${lib}/*.jar"/>
</path>
 
9.ant的taskdef任务
Taskdef任务通过执行java类来创建一个用户定制的任务
例:
<taskdef name="任务名" classname="java类" />
<taskdef name="wldeploy" classname="weblogic.ant.taskdefs.management.WLDeploy" classpathref="project.class.path"/>
 

Ant基础知识1的更多相关文章

  1. Ant基础知识2

    Ant: 1.在windows上搭建Ant环境,成功后查看版本号 答案: (1)安装jdk,配置环境变量 (2)安装ant,配置环境变量,添加ANT_HOME,在path中加入%ANT_HOME%\b ...

  2. Ant学习-001-ant 基础知识及windows环境配置

    一.Ant 概要基础知识 Apache Ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发,用以构建应用,或结合其他开源测试工具例如 git.T ...

  3. React入门---基础知识-大纲-1

    -----------------在慕课网学习react入门笔记-------------- ---------博主边学边记录,手把手进行学习及记录---------- --------------- ...

  4. Spring Ioc源码分析系列--Ioc的基础知识准备

    Spring Ioc源码分析系列--Ioc的基础知识准备 本系列文章代码基于Spring Framework 5.2.x Ioc的概念 在Spring里,Ioc的定义为The IoC Containe ...

  5. .NET面试题系列[1] - .NET框架基础知识(1)

    很明显,CLS是CTS的一个子集,而且是最小的子集. - 张子阳 .NET框架基础知识(1) 参考资料: http://www.tracefact.net/CLR-and-Framework/DotN ...

  6. RabbitMQ基础知识

    RabbitMQ基础知识 一.背景 RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然 ...

  7. Java基础知识(壹)

    写在前面的话 这篇博客,是很早之前自己的学习Java基础知识的,所记录的内容,仅仅是当时学习的一个总结随笔.现在分享出来,希望能帮助大家,如有不足的,希望大家支出. 后续会继续分享基础知识手记.希望能 ...

  8. selenium自动化基础知识

    什么是自动化测试? 自动化测试分为:功能自动化和性能自动化 功能自动化即使用计算机通过编码的方式来替代手工测试,完成一些重复性比较高的测试,解放测试人员的测试压力.同时,如果系统有不份模块更改后,只要 ...

  9. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

随机推荐

  1. ThreadPoolExecutor参数

    1.ThreadPoolExecutor个参数的意义(类上的注释内容) * @param corePoolSize the number of threads to keep in the* pool ...

  2. 借鉴 学习 DELPHI 通用函数 哈哈

    [转]关于Delphi通用涵数 http://m.blog.csdn.net/blog/dragonjiang5460/1196927 2006-9-8阅读2016 评论0 DELPHI程序注册码设计 ...

  3. jquery为表格行添加上下移动画效果

    为项目列表项添加上下移动动画.首先想使用jquery animate来做到这一点.但我用的是table和tr作为列表和列表项,但jquery动画方法不支持table里的tr(Animations ar ...

  4. POJ3252-RoundNumbers-排列组合

    当一个数的二进制表示中,0的个数大于或等于1的个数时,叫做RoundNumber.求从S到F两个数(包含)之间的RoundNumber个数. 这类题一般都是先求出0到N的个数,然后两个相减. 由于题目 ...

  5. 【刷题】BZOJ 1132 [POI2008]Tro

    Description 平面上有N个点. 求出所有以这N个点为顶点的三角形的面积和 N<=3000 Input 第一行给出数字N,N在[3,3000] 下面N行给出N个点的坐标,其值在[0,10 ...

  6. android handler msg的使用 实现进度条

    package com.app.threadtest; import android.app.Activity; import android.os.Bundle; import android.os ...

  7. 洛谷 P2345 奶牛集会 解题报告

    P2345 奶牛集会 题目背景 MooFest, 2004 Open 题目描述 约翰的N 头奶牛每年都会参加"哞哞大会".哞哞大会是奶牛界的盛事.集会上的活动很 多,比如堆干草,跨 ...

  8. Libre 6013 「网络流 24 题」负载平衡 (网络流,最小费用最大流)

    Libre 6013 「网络流 24 题」负载平衡 (网络流,最小费用最大流) Description G 公司有n 个沿铁路运输线环形排列的仓库,每个仓库存储的货物数量不等.如何用最少搬运量可以使n ...

  9. Mac上配置idea的项目上传到GitHub

    1.安装git,Mac默认已经安装了Git,可以通过命令git —version查询一下. 2.创建SSH KEY(如果已经创建过,则不用再次创建.查看~/.ssh/id_rsa.pub是否存在) 生 ...

  10. Hashtable 删除元素, 抛出异常 java.util.ConcurrentModificationException

    今天在对一个Hashtable对象进行 搜索 -> 删除 操作时遇到的一个问题,开始的使用我使用的是Hashtable的Iterator,然后直接执行: Hashtable.remove(key ...