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. Appium学习笔记2_Android获取元素篇

    在利用Appium做自动化测试时,最重要的一步就是获取对应的元素值,根据元素来对对象进行对应的操作,如果获得对象元素呢? Appium Server Console其实提供了一个界面对话框" ...

  2. python pip包安装以及几个包的简单用法

    1. centos74 安装完之后默认有python2.7.5 但是没有pip需要自己安装: copy from https://www.cnblogs.com/rain124/p/6196053.h ...

  3. SQLSERVER备份恢复后权限问题简单处理.

    1. 同事的服务器出现无法访问表, 应用连不上数据库... 远程了下 发现. 使用业务用户登录数据库之后查询无法下拉帮助到表, 必须增加schemas才可以访问到具体的表. 2. 问题解决. 1. 修 ...

  4. calico实现docker容器内部的网络链接

    calico官网 https://www.projectcalico.org// calico介绍 http://www.sdnlab.com/17161.html calico网络 环境 系统   ...

  5. ubuntu 安装 postgresql

    安装环境: Ubuntu 10.04-desktop-i386 PostgreSQL 8.4 1. 安装PostgreSQL 输入如下命令 sudo apt-get install postgresq ...

  6. Spark_RDD之RDD操作简介

    1.转化操作 转化操作是返回一个新的RDD的操作,我们可以使用filter()方法进行转化.举个使用scala进行转化操作的例子. def main(args: Array[String]): Uni ...

  7. jenkins和sonar的几个问题

    错误1:有个pom文件内容错了,但是在jenkins上面编译的时候,控制台将这个错误信息给打出来了,maven的编译也打印了failed with error,但是jenkins的job并没有因此而停 ...

  8. TCP的三次握手与四次挥手过程,各个状态名称与含义

    三次握手 第一次握手:主机A发送位码为syn=1,随机产生seq number=10001的数据包到服务器,主机B由SYN=1知道,A要求建立联机,此时状态为SYN_SENT: 第二次握手:主机B收到 ...

  9. day11 作用域

    返回值可以任何类型,返回可以是函数,返回函数还可以再被调用仅仅返回函数是无法运行的.要运行需要加上()没有返回值的时候,默认返回值为空,None def test1(): print("in ...

  10. 洛谷 P3253 [JLOI2013]删除物品 解题报告

    P3253 [JLOI2013]删除物品 题目描述 箱子再分配问题需要解决如下问题: (1)一共有\(N\)个物品,堆成\(M\)堆. (2)所有物品都是一样的,但是它们有不同的优先级. (3)你只能 ...