1、Ant是什么?

  Ant是 塑造工具,Apache
Ant是3个将软件编写翻译、测试、布置等手续联系在联合的自动化的工具,Ant是由Java语言开发,所以可以款平台。

二 、什么是营造?

    项目构建:通过构建筑工程具对七个体系文件统一批量的编写翻译和运作,比如对七个jmeter脚本批量运作。

 形象的说,你要把代码从某些地方拿来,编写翻译,再拷贝到有个别地点去等等操作,当然不仅仅与此,可是根本用来干那个

3、Ant的好处
   跨平台   
   
 使用不难–与ant的男士make比起来
   
 语法清晰–同样是和make比较
   
 成效强大–能够自身支付很多插件

4、Ant的作用

 可以用ant编译java类,生成class文件

 
 ant能够自定义标签、配置文件
 
 ant能够把有关层架构成包
 
 ant把一切项不熟悉成web包,并发表到汤姆cat 

5、搭建Ant环境 

XML,  下载安装:http://ant.apache.org/bindownload.cgi

  下载后解压,配置环境变量

  window中安装ant环境变量:

  ANT_HOME   
C:/ apache-ant-1.10.1

  path   
         C:/ apache-ant-1.10.1/bin 或 %ANT_HOME%/bin

  classpath   
  C:/apache-ant-1.10.1/lib

 

   
   验证ant是还是不是安装成功

  依次:起初–运营–cmd,输入命令ant,查看版本
ant -version

 

6、Ant
开发

Ant的塑造文件领早先2个新的类型时,首先应当编写Ant创设文件。创设文件定义了塑造进度,并被公司成本中各种人使用。Ant构建文件暗中认可命名为build.xml,也能够取别的的名字。只可是在运转的时候把这几个命名当作参数字传送给Ant。创设文件能够置身别的的职位。一般做法是置身项目顶层目录中,这样能够保险项目标简单和清楚。下边是3个典型的类型层次结构。

  (1)
src存放文件。
  (2)
class存放编写翻译后的文本。
  (3)
lib存放第叁方JA汉兰达包。
  (4)
dist存放打包,宣布之后的代码。
Ant营造文件是XML文件。每一个创设文件定义二个唯一的门类(Project成分)。种种品种下得以定义很多指标(target成分),那个指标之间能够有依靠关系。当执行那类指标时,必要执行他们所依靠的对象。每一个指标中得以定义多少个职分,目的中还定义了所要执行的天职种类。Ant在创设目的时务必调用所定义的职分。任务定义了Ant实际履行的通令。Ant中的职责能够为3类。

  (1)
焦点职务。核心职分是Ant自带的职责。
  (2)
可选义务。可选任务实来自第③方的职分,由此供给1个增大的JA讴歌RDX文件。

  (3)
用户自定义的职务。用户自定义的职责实用户自身支付的职分。

6.1.<project>标签

各种营造文件对应多少个体系。<project>标签时创设文件的根标签。它能够有三个内在属性,就像代码中所示,其各类属性的意思分别如下。

(1)
default代表暗中认可的周转目的,那脾气子是必须的。
(2)
basedir表示项目标规则目录。
(3)
name代表项目名。
(4)
description代表项目标叙述。
各类创设文件都对应于八个类型,不过大型项目平常包蕴大批量的子项目,每多个子项目都能够有投机的构建文件。

6.2.<target>标签

二个品类标签下能够有一个或多少个target标签。1个target标签能够凭借别的的target标签。例如,有贰个target用于编写翻译程序,另1个target用于声称可执行文件。在扭转可执行文件以前必须先编写翻译该文件,因策可执行文件的target注重于编写翻译程序的target。Target的拥有属性如下。

(1)
name表示标明,这些天性是必须的。
(2)
depends表示信赖的靶子。
(3)
if表示仅当属性设置时才实施。
(4)
unless表示当属性没有设置时才实施。
(5)
description表示项指标叙述。
Ant的depends属性钦点了target的推行顺序。Ant会依据depends属性中target出现顺序依次执行各类target。在进行在此之前,首先须要举办它所重视的target。程序中的名为run的target的depends属性compile,而名为compile的target的depends属性是prepare,所以那多少个target执行的逐一是prepare->compile->run。2个target只好被实践2遍,尽管有三个target依赖于它。如若没有if或unless属性,target总会被实施。

6.3.<mkdir>标签

该标签用于创制二个目录,它有壹性格能dir用来钦定所创建的目录名,其代码如下:<mkdir
dir=”${class.root}”/>通过上述代码就创立了一个目录,那些目录已经被眼下的property标签所钦命。

6.4.<jar>标签

该标签用来生成多个JA库罗德文件,其质量如下。

(1)
destfile表示JAR文件名。
(2)
basedir代表被归档的文本名。
(3)
includes表示别归档的文书格局。
(4)
exchudes表示被清除的公文方式。

6.5.<javac>标签

该标签用于编写翻译二个或一组java文件,其属性如下:

(1).srcdir表示源程序的目录。

(2).destdir代表class文件的输出目录。

(3).include表示被编写翻译的文本的情势。

(4).excludes表示被免去的文书的形式。

(5).classpath代表所选择的类路径。

(6).debug表示包罗的调节和测试新闻。

(7).optimize表示是不是利用优化。

(8).verbose
代表提供详实的输出音讯。
(9).fileonerror表示当碰着错误就自行终止。

6.6.<java>标签

该标签用来实行编写翻译生成的.class文件,其属性如下。

(1).classname
代表将实施的类名。
(2).jar代表包罗该类的JAPRADO文件名。

(3).classpath所表示用到的类路径。

(4).fork表示在贰个新的虚拟机中运作该类。

(5).failonerror代表当出现错误时自动结束。

(6).output
表示输出文件。
(7).append表示追加也许覆盖暗许文件。

6.7.<delete>标签

该标签用于删除二个文件或一组文件,去属性如下:

(1).file代表要刨除的文件。

(2).dir表示要去除的目录。

(3).includeEmptyDirs
表示钦定是或不是要刨除空目录,暗许值是剔除。
(4).failonerror
代表钦命当蒙受错误是或不是终止,暗许值是电动停止。
(5).verbose代表内定是不是列出所删除的文本,私下认可值为不列出。

6.8.<copy>标签

该标签用于文书或文件集的正片,其性格如下。

(1).file
代表源文件。
(2).tofile
表示指标文件。
(3).todir
表示目的目录。
(4).overwrite
表示钦定是还是不是覆盖指标文件,私下认可值是不掩盖。
(5).includeEmptyDirs
表示制定是还是不是拷贝空目录,暗中认可值为拷贝。
(6).failonerror
代表内定如目的没有发现是或不是自动终止,暗许值是终止。
(7).verbose
代表制定是不是出示详细新闻,私下认可值不展现。

⑦ 、Ant的数据类型

在营造文件中为了标识文件或文件组,平时索要采用数据类型。数据类型包罗在

org.apache.tool.ant.types包中。上边简单介绍塑造文件中一些常用的数据类型。

7.1.
argument 类型

由Ant塑造文件调用的程序,能够经过<arg>成分向其传递命令行参数,如apply,exec和java职责均可承受嵌套<arg>成分,可以为独家的历程调用内定参数。以下是<arg>的保有属性。

(1).values
是1个发令参数。假诺参数种有空格,但又想将它当作单身一个值,则使用此属性。

(2).file代表三个参数的公文名。在创设文件中,此文件名相对于近年来的做事目录。

(3).line表示用空格分隔的几个参数列表。

(4).path表示路径。

7.2.ervironment
类型

由Ant营造文件调用的外部命令或程序,<env>成分制定了何等环境变量要传送给正在实践的系统命令,<env>成分得以接受以下属性。

(1).file表示环境变量值得文件名。此文件名要被转换位1个相对路径。

(2).path表示环境变量的路径。Ant会将它转换为3个当地约定。

(3).value
表示环境变量的3个一向变量。
(4).key
表示环境变量名。
留意 
file path 或 value只可以取2个。

7.3.filelist类型

Filelist
是3个支撑命名的文书列表的数据类型,包罗在1个filelist类型中的文件不自然是存在的公文。以下是其具备的习性。

(1).dir是用于计算相对文件名的目录。

(2).files
是用逗号分隔的文本名列表。
(3).refid
是对某处定义的多个<filelist>的引用。
留神  dir
和 files
都以必需的,除非钦定了refid(这种地方下,dir和files都差异意行使)。

7.4.fileset类型

Fileset
数据类型定义了一组文件,并日常表示为<fileset>成分。可是,许多ant职务构建成了隐式的fileset,那注明她们帮忙具备的fileset属性和嵌套元素。以下为fileset
的性质列表。
(1).dir表示fileset
的基目录。
(2).casesensitive的值若是为false,那么匹配文件名时,fileset不是分别轻重缓急写的,其私下认可值为true。

(3).defaultexcludes
用来规定是否接纳默许的铲除方式,暗许为true。
(4).excludes
是用逗号分隔的必要派出的公文方式列表。
(5).excludesfile
代表每行李包裹涵二个拔除情势的公文的文件名。
(6).includes
是用逗号分隔的,必要包罗的公文方式列表。
(7).includesfile
表示每行包含二个包含情势的公文名。

7.5.patternset
类型

Fileset
是对文本的分组,而patternset是对格局的分组,他们是环环相扣相关的定义。<patternset>援救五个属性:includes
excludex includexfile 和 excludesfile,与fileset相同。帕特ternset
还允许以下嵌套元素:include,exclude,includefile 和 excludesfile。

7.6.filterset
类型

Filterset定义了一组过滤器,那几个过滤器将在文件移动或复制时成功文件的文书替换。

根性格能如下:

(1).begintoken
代表嵌套过滤器所搜索的记号,这是标识其早先的字符串。
(2).endtoken代表嵌套过滤器所搜索的标志那是标识其得了的字符串。

(3).id是过滤器的绝无仅有标志符。

(4).refid是对构建文件中某处定义八个过滤器的引用。

7.7.Path类型

Path成分用来表示多个类路径,但是它还足以用来表示别的的路径。在用作揖特性子时,路经中的各项用分号或冒号隔离。在营造的时候,此分隔符将代替当前平纽伦堡拥有的路线分隔符,其兼具的品质如下。

(1).location
表示八个文本或目录。Ant在其师长此扩充为三个相对路径。
(2).refid
是对如今营造文件中某处定义的四个path的引用。
(3).path表示叁个文书或路径名列表。

7.8.mapper类型

Mapper类型定义了一组输入文件和一组输出文件间的关系,其属性如下。

(1).classname
表示实现mapper类的类名。当内置mapper不知足供给时,用于创立定制mapper。

(2).classpath表示查找三个定制mapper时所用的项目路径。

(3).classpathref是对某处定义的三个类路径的引用。

(4).from属性的意思取决于所用的mapper。

(5).to属性的意思取决于所用的mapper。

(6).type属性的取值为identity,flatten
glob merge  regexp  在那之中之一,它定义了一旦用的放权mapper的体系。

8、Ant
的运行

安装好Ant并且安顿好路子之后,在命令行中切换来塑造文件的目录,输入Ant命令就足以运作Ant.若没有点名别的参数,Ant会在当前目录下查询build.xml文件。假若找到了就用该文件作为营造文件。假诺使用了
–find 选项,Ant
就会在上司目录中找营造文件,直至到达文件系统得跟目录。假诺构建文件的名字不是build.xml
,则Ant运转的时候就能够运用 –buildfile file,那里file
钦点了要接纳的创设文件的称谓,示例如下:
Ant如下表明了代表当前目录的营造文件为build.xml
运营 ant 执行暗中认可的对象。
Ant
–buildfile  test.xml使用当前目录下的test.xml 文件运营Ant ,执行暗许的指标

 

9、Ant体验

 
 编写3个简练的helloworld程序:

   package
test.ant;
  public class HelloWorld{
    public static void main(String[] args){
       System.out.println(“Hello world1”);
    }
  }

 

   
build.xml文件

   
 <?xml version=”1.0″ encoding=”UTF-8″ ?>
 

  <project name=”HelloWorld” default=”run” basedir=”.”>
 

  <property name=”src” value=”src”/>
 

  <property name=”dest” value=”classes”/>
 

  <property name=”hello_jar” value=”hello1.jar”/>
 

  <target name=”init”>  

     <mkdir dir=”${dest}”/>  

  </target>
 

  <target name=”compile” depends=”init”>
 

  <javac srcdir=”${src}” destdir=”${dest}”/>
 

  </target>
 

  <target name=”build” depends=”compile”>
 

  <jar jarfile=”${hello_jar}” basedir=”${dest}”/>
 

  </target>
 

  <target name=”run” depends=”build”>
 

  <java classname=”test.ant.HelloWorld” classpath=”${hello_jar}”/>
 

  </target>
 

  <target name=”clean”>
 

  <delete dir=”${dest}” />  

  <delete file=”${hello_jar}” />
 

  </target>
 

  <target name=”rerun” depends=”clean,run”>
 

  <ant target=”clean” />  

  <ant target=”run” />  

  </target>
 

  </project> 

 

新建叁个src的文书夹,然后把HelloWorld.java依照包目录放进去  

做好build.xml文件  

在命令行下键入ant ,你会发现1个个职务都成功了。每一趟变更完代码只须求再行键入ant 

 

 

相关文章

网站地图xml地图