,,ant使用指南详细入门教程

,,ant使用指南详细入门教程

本文主要介绍ant使用指南的详细入门教程。本文讲解了安装、安装验证、使用方法、使用示例、ant命令等。详细地说。有需要的可以参考一下。

一、概述

Ant是一个工具,它将软件编译、测试、部署和其他步骤联系在一起,以实现自动化。它主要用于Java环境下的软件开发。在实际的软件开发中,Ant可以用在很多地方。

开发环境:

复制代码如下:

系统:Windows

JDK:1.6

IDE:eclipse

蚂蚁:1.9.1

二、优点

Ant是Apache软件基金会JAKARTA目录中的一个子项目。它具有以下优点:

1.跨平台:Ant是纯Java语言编写的,所以具有很好的跨平台性。

2.操作简单:ant由一个内置任务和一个可选任务组成。使用Ant task就像在dos下写命令行一样。Ant运行时需要一个XML文件(构建文件)。Ant可以通过调用目标树来执行各种任务。每个任务实现一个特定的接口对象。

3.维护简单,可读性好,集成简单:由于Ant以XML格式构建文件,所以易于维护和编写,结构清晰。Ant可以集成到开发环境中。Ant跨平台,操作简单,很容易集成到一些开发环境中。

三、安装和配置

1.下载ant,http://mirror . esocc . com/Apache//ant/binaries/Apache-ant-1 . 9 . 1-bin . zip。

2.解压缩zip包,并将其放在您想要放置的目录中。我这里放在D:\apache-ant-1.9.1,目录结构如下:

是bin ant的程序运行入口。如果没有配置ANT_HOME,可以通过bin目录中的bat程序运行构建任务。

比如可以在cmd中运行ant.bat来执行程序。当然,您选择在当前目录中有一个build . XML(build . XML是默认的ant执行文件,但是您可以指定其他文件)

所有的xsl输出模板都存储在etc目录中。为导出各种任务创建一个增强的XML输出,以便您的构建文件可以消除过时的警告。

lib目录存储ant程序需要依赖的jar包。

手册目录是ant程序的帮助文档。

3.在我的电脑中配置ant右键单击属性高级系统配置环境变量。

创建新的系统变量ANT_HOME=D:\apache-ant-1.9.1

这样,就配置了环境变量,但前提是您需要配置jdk的环境变量。如果您还没有配置jdk环境变量,请先配置jdk变量。jdk环境配置方法如下:

(1)、将JDk安装到其默认目录:C:\ Program Files \ Java \ JDk 1 . 5 . 0 _ 05(没有jdk官方下载一个)

C:\Program Files\Java\jdk1.5.0

功能:告诉系统JVM在哪里。

(2)右键单击我的电脑,选择属性、高级和环境变量。

(3)单击系统变量栏中的“新建”,出现创建新系统变量的对话框。在变量名中填入JAVA_HOME,变量值为C:\ Program Files \ JAVA \ JDK 1 . 5 . 0 _ 05。

(4)确认后,在系统变量列创建一个新的环境变量CLASSPATH,变量值:% JAVA _ HOME % \ lib \ dt . jar;%JAVA_HOME%\lib\tools.jar(点和;不能)

(5)确认后,在系统变量一栏中查找并选择变量为Path的选项,点击编辑添加:

%JAVA_HOME%\bin

如果找不到PATH变量,自己创建一个新的!

如果不想cmd到类所在的目录,然后每次运行时都执行java命令,可以把所有的类文件放在一个统一的目录组织中,然后把这个目录追加到类路径中。

测试代码如下:

复制代码如下:

公共类测试{

公共静态void main(String[] args) {

System.out.println('Hello World!');

}

}

用记事本编辑后,保存为Test.java文件(文件名与类名相同),打开命令行窗口,

转到光盘所在的目录:

复制代码如下:

Test.java//compile指挥部

测试//可执行程序

如果输出是:Hello World!好了,配置完成了,不然再检查一遍。

四、测试ant

在cmd启动运行的dos窗口输入ant,如图:

如果出现这种情况,那么恭喜您成功安装!否则就会失败。检查前面的步骤是否有错误。上面的命令会执行ant程序,ant默认会执行build.xml中的任务,这里的Administrator目录中没有。

如果安装失败,看看有没有一些情况:

1.JAVA_HOME未配置或配置错误,JAVA_HOME\bin\java.exe存在。

2.ANT_HOEM未配置或配置错误,并且ANT_HOME\bin\ant.bat存在。

3.检查环境变量的path变量中是否有wood或configuration.% ANT _ HOME % \ bin.

%PATH%=.可能-其他-条目.% ANT _ HOME % \ bin.可能-其他-条目.

五、ant的运行时环境

ant运行该命令时,有时会出现一些park jar库。这些库会存在于每个ant项目中,所以这个时候我们可以把这个jar包放在ant_home\lib目录下,作为一个全局库使用。

如果不想“污染”原来的ant程序,那么可以把jar包放在当前windows用户的目录下。具体位置应该是${user.home}/。ant/lib。不能手动创建以上目录。

如果只想临时添加lib,而不想将lib添加到当前的ant项目中。运行ant程序时,可以指定相关的lib参数。

同时,您还可以将项目依赖jar包添加到当前构建项目的类路径目录中。

六、ant命令

元素的语法描述如下:

-救命

显示描述ant命令及其选项的帮助信息。

-项目帮助

构建文件中包含的所有用户编写的帮助文档。也就是说,每个目标中的description属性的文本以及description元素中包含的任何文本。具有description属性的目标被列为主目标,没有该属性的目标被列为子目标。

-版本

要求ant显示其版本信息,然后退出。

安静

在生成文件中隐藏大多数不是由echo任务生成的消息。

-冗长

显示构建过程中每个操作的详细消息。您只能选择此选项和-debug选项中的一个。

-调试

显示Ant和任务开发人员标记为调试消息的消息。您只能选择此选项或-verbose。

-emacs

设置日志消息的格式,以便Emacs的shellmode可以轻松解析它们;也就是说,任务事件被打印出来,但是没有缩进,并且在它之前没有[taskname]。

-日志文件文件名

将日志输出重定向到指定文件。

-记录器类名

指定一个类来处理Ant的日志。指定的类必须实现org . Apache . tools . ant . build logger接口。

-侦听器类名

为Ant声明一个侦听器类,并将其添加到它的侦听器列表中。当Ant与IDE或其他Java程序集成时,此选项非常有用。你可以阅读第6章来了解更多关于监听器的信息。必须编写指定的监听类来处理Ant的构建消息。

-构建文件文件名

指定Ant需要处理的构建文件。的默认生成文件是build.xml

-Dproperty=value

在命令行上定义一个属性名-值对。

-查找文件名

指定Ant应该处理的构建文件。与-buildfile选项不同,如果在当前目录中没有找到指定的文件,则-find要求Ant在其父目录中再次搜索。这个搜索将继续在它的祖先目录中进行,直到到达文件系统的根,如果没有找到文件,构建将失败。

-atuo代理1.5以上可以使用代理设置。

-nouserlib运行ant时不使用用户库中的jar包。

-不错的设计主线程优先级

-logfile使用指定的日志。

-noinput不允许交互式输入。

-keep-going,-k执行不依赖于所有目标。

-propertyfile加载所有属性配置文件-d属性文件优先。

复制代码如下:

项目默认值='全部'

属性名称='pro_a '值='a值'/

属性名='pro_b '值='b值'/

路径id='rt.path '

path element location=' $ { Java . home }/JRE/lib/rt . jar '/

/路径

target name='all '

javac srcdir=' . '

classpath refid='a.path' /

/javac

/目标

/项目

注意:

所有构建文件必须有项目元素和至少一个目标元素。

项目元素的默认属性不一定需要默认值。

构建文件不必命名为build.xml,但是build.xml是ant搜索的默认文件名。

每个构建文件只能有一个项目元素。

在cmd窗口中输入当前的build.xml目录。

复制代码如下:

蚂蚁

运行当前目录下build.xml中的Ant并执行默认目标。

复制代码如下:

ant -buildfile build-test.xml

运行当前目录下build-test.xml中的Ant并执行默认目标。

复制代码如下:

ant -buildfile build-test.xml清理

在当前目录下的build-test.xml中运行Ant,并执行一个名为clean的目标。

复制代码如下:

ant-build file build-test . XML-Dbuild=build/classes clean

运行当前目录下build-test.xml下的Ant,执行一个名为clean的目标,将build属性的值设置为build/classes。

七。ant脚本:使用节点、元素和属性、命令和指令

1.项目节点元素

项目元素是Ant组件文件的根元素。Ant组件文件应该至少包含一个项目元素,否则将会出错。在每个项目元素下,可以包含多个目标元素。接下来,让我们向读者展示项目元素的属性。

名称属性:用于指定项目元素的名称。

默认属性:用于指定项目默认执行时所执行目标的名称。

basedir属性:用于指定基路径的位置。如果未指定该属性,则Ant组件文件的附加目录将用作基目录。

复制代码如下:

?xml版本='1.0 '?

'项目名='ant-project '默认值='print-dir' basedir=','

目标名称='print-dir '

echo message='基本目录是:${basedir}' /

/目标

/项目

从上面的例子可以看出,这里default属性的值定义为print-dir,也就是说,ant命令运行时,如果没有指明要执行的目标,就会执行默认的目标(print-dir)。此外,basedir属性的值被定义为“.”,它指示当前目录。进入当前目录后,运行ant命令,并获得以下结果:

2.目标节点元素

它是目标ant的基本执行单元或任务,可以包含一个或多个特定的单元/任务。多个目标可以是相互依赖。它具有以下属性:

name属性:指定目标元素的名称。此属性在项目元素中是唯一的。我们可以通过指定目标元素的名称来指定目标。

depends属性:用于描述目标之间的依赖关系。如果存在与多个目标的依赖关系,则需要用“,”分隔。Ant将按照目标在depends属性中出现的顺序执行每个目标,首先执行依赖的目标。

if属性:用于验证指定的属性是否存在。否则,目标将不会被执行。

除非属性:该属性的作用正好与if属性相反。它还用于验证指定的属性是否存在。否则,目标将被执行。

描述属性:该属性是关于目标功能的简短描述和说明。

示例:

复制代码如下:

?xml版本='1.0 '?

项目名称='ant-target '默认='print '

目标名称='版本' if='ant.java.version '

echo message='Java版本:${ant.java.version}' /

/目标

target name=' print ' depends=' version ',除非='docs '

描述

一个可靠的例子!

/描述

echo message='基本目录是:${basedir}' /

/目标

/项目

从下面的结果可以看出,我们正在运行一个名为print的目标。因为它依赖于目标任务版本,所以将首先执行版本。同时,因为系统配置了JDK,所以存在ant.java.version属性并执行version。输出:'[echo] Java版本:1.6 ',版本执行后,再执行print,因为docs不存在,unless属性在目标不存在时输入,说明执行了print,输出为:'[echo]base dir为:d: \ workspace \ ant example \ build '。

3.属性属性节点元素

属性元素可以看作参数或者参数的定义,项目的属性可以通过属性元素或者外部Ant来设置。要从外部导入文件,如build.properties文件,可以通过以下方式导入:

属性文件='build.properties'/

Property元素可以用作task的属性值。在任务中,通过将属性名放在{ attribute name }和任务属性值的位置来实现。

Ant提供了一些内置的属性,它可以获得的系统属性列表与Java文档中System.getProperties()方法获得的属性一致。这些系统属性可以参考sun网站的描述。同时,Ant还提供了一些自己的内置属性,如下:

Basedir:项目基目录的绝对路径;

Ant.file:构建文件的绝对路径。在上面的例子中,ant.file的值是D:\ workspace \ ant example \ build;

Ant.version: Ant的Ant版本信息,本文为1 . 8 . 1;

Ant.project.name:当前指定项目的名称,即上面提到的项目的名称属性值;

Ant . Java . version:Ant检测到的JDK版本,本文中为1.6。

例子如下:

复制代码如下:

项目名称='ant-project '默认='example '

属性名称='名称'值='jojo' /

属性名称='年龄'值='25' /

target name='example '

echo message='姓名:$ {姓名},年龄:$ {年龄}' /

/目标

/项目

在上面的例子中,用户设置了两个名为name和age的属性。设置完这两个属性后,可以通过下面的${name}和${age}获取这两个属性的值。

4.复制命令

复制主要用于复制文件和目录。例子如下:

复制单个文件:

复制代码如下:

将file='old.txt '复制到file='new.txt'/

复制文件目录:

复制代码如下:

复制到dir='./dest_dir

文件集目录='src_dir'/

/复制

将文件复制到另一个目录:

复制代码如下:

复制file='src.txt '到dir='c:/base'/

5.删除命令

删除文件或目录,例如:

删除文件:

复制代码如下:

删除文件='/res/image/cat.jpg'/

删除目录:

复制代码如下:

delete dir='/res/image'/

删除所有jar文件或空目录:

复制代码如下:

delete includeEmptyDirs='true '

文件集目录=“.”includes='**/*。jar'/

/删除

6、mkdir命令

创建一个目录。

复制代码如下:

mkdir dir='/home/philander/build/classes '/

7.移动命令

例如,移动文件或目录,如下所示:

移动单个文件:

复制代码如下:

将file='sourcefile '移动到file="destfile"/

将单个文件移动到另一个目录:

复制代码如下:

move file=' source file ' to dir=" move dir "/

将一个目录移动到另一个目录:

复制代码如下:

移动到dir='newdir '

文件集目录='olddir'/

/移动

8.回声命令

此任务的目的是根据日志或监视器的级别输出信息。它包括四个属性:消息、文件、附加和级别,例如,如下所示

echo message=' ant message ' file='/logs/ant . log ' append=' true '

9.jar标记节点元素

这个标记用于生成一个具有以下属性的JAR文件。

destfile表示JAR文件名。

basedir表示要存档的文件名。

包括是指归档的文件模式。

exchudes表示排除文件模式。

压缩表示是否压缩。

示例:

复制代码如下:

jar destfile=' $ { webRoot }/$ { ash _ jar } ' level=' 9 ' compress=' true ' encoding=' utf-8 ' basedir=' $ { dest } '

显示

属性名='实现版本'值='版本:2.2'/

/清单

/jar

上面最重要的是清单中文件的内容。肉类中的MF-罐子包装中的INF。

War和tgz也打包了,uzip已经解压。

复制代码如下:

!-创建zip -

zip basedir=' $ { basedir } \ classes ' zip file=' temp \ output . zip '/

!-创建tgz -

gzip src='classes\**\*。class ' zip file=' output . class . gz '/

!-拉开拉链-

unzip src=' output . class . gz ' dest=' extract dir '/

!-建立一个战争包-

war destfile=' $ { webRoot }/ash . war ' basedir=' $ { basedir }/WEB ' WEB XML=' $ { basedir }/WEB/we b-INF/WEB . XML '

exclude name=' we b-INF/classes/* * '/

exclude name='WEB-INF/lib/**'/

exclude name=' we b-INF/work/_ JSP/* * '/

lib dir='${lib.dir} '包含='**/*。jar,* * */*。所以,* * */*。' dll '

exclude name=' $ { webRoot } \ $ { hello world _ jar } '/

/库

lib file=' $ { webRoot }/$ { hello world _ jar } '/

类别目录='${dest} '包含='**/*。xml,* * */*。属性,* * */*。xsd '/类

/战争

10.javac标记节点元素

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

srcdir表示源程序的目录。

destdir表示类文件的输出目录。

include表示编译文件的模式。

excludes表示排除文件的模式。

类路径表示使用的类路径。

调试表示包含的调试信息。

优化表示是否使用优化。

verbose表示提供详细的输出信息。

fileonerror表示遇到错误会自动停止。

例子

复制代码如下:

javac srcdir=' $ { src } ' dest dir=' $ { dest } '/

!-设置jvm内存

javac srcdir='src' fork='true'/

javac srcdir=' src ' fork=' true ' executable=' d:\ SDK 141 \ bin \ javac '

memoryMaximumSize='128m'/

-

1.java标记节点元素

这个标签用于执行编译好的。类文件,其属性如下。

classname表示要执行的类名。

JAR表示包含该类的JAR文件的名称。

类路径表示使用的类路径。

fork是指在新的虚拟机中运行这个类。

failonerror表示发生错误时自动停止。

输出表示输出文件。

追加意味着追加或覆盖默认文件。

例子

复制代码如下:

Java class name=' com . hoo . test . hello world ' class path=' $ { hello _ jar } '/

12.arg数据参数元素

Ant构建文件调用的程序可以通过arg元素向它们传递命令行参数。例如,apply、exec和java任务都可以接受嵌套的arg元素,并且可以为它们的过程调用指定参数。以下是arg的所有属性。

值是一个命令参数。如果参数中有一个空格,但您希望它是单个值,请使用此属性。

file表示参数的文件名。在构建文件中,该文件名相对于当前工作目录。

线表示由空格分隔的多个参数的列表。

表示路径,类似路径的字符串作为单个命令行变量;或者作为分隔符,Ant会把它变成特定于平台的分隔符。

pathref引用的路径的id(路径由路径元素节点定义)

前缀前缀

后缀后缀

例子

复制代码如下:

arg value='-l -a'/

是一个带有空格的命令行变量。

复制代码如下:

arg line='-l -a'/

是由两个空格分隔的命令行变量。

复制代码如下:

arg path='/dir;/dir2:\dir3'/

是一个命令行变量,在DOS系统上其值为\ dir\ dir2\ dir3Unix系统上的/dir:/dir2:/dir3。

13.环境类型

Ant构建文件调用的外部命令或程序,env元素确定将哪些环境变量传递给正在执行的系统命令,并且env元素可以接受以下属性。

file表示环境变量值的文件名。该文件名将被转换为绝对路径。

path表示环境变量的路径。Ant会将其转换成本地约定。

值表示环境变量的直接变量。

key表示环境变量名。

请注意,只能采用一个文件路径或值。

14.文件集合列表

File是一种支持命名文件列表的数据类型,文件列表类型中包含的文件不一定是现有的文件。以下是它的所有属性。

dir是用于计算绝对文件名的目录。

files是以逗号分隔的文件名列表。

refid是对某处定义的文件列表的引用。

请注意,dir和files都是必需的,除非指定了refid(在这种情况下,既不允许dir也不允许files)。

例子

复制代码如下:

file list id=' doc files ' dir=' $ { doc . src } ' files=' foo . XML,bar.xml'/

设置${doc.src}/foo.xml和$ {doc.src}/bar.xml,这些文件可能不存在。

file list id=' doc files ' dir=' $ { doc . src } ' files=' foo . XML bar . XML '/

filelist refid='docfiles'/

文件列表id='docfiles' dir='${doc.src} '

文件名='foo.xml'/

文件名='bar.xml'/

/文件列表

15.文件集文件类型

文件集数据类型定义一组文件,通常表示为文件集元素。然而,许多ant任务是作为隐式文件集构建的,这表明它们支持所有文件集属性和嵌套元素。以下是文件集的属性列表。

dir表示文件集的基本目录。

如果区分大小写的值为false,则在匹配文件名时,文件集不区分大小写,其默认值为true。

defaultexcludes用于确定是否使用默认排除模式,默认为真。

excludes是要发送的文件模式的逗号分隔列表。

excludesfile是指每行包含一个排除模式的文件的文件名。

includes是需要包含的文件模式的逗号分隔列表。

includesfile表示每行包含一个包含模式的文件名。

例子

复制代码如下:

文件集id=' lib . runtime ' dir=' $ { lib . path }/runtime '

包括名称='**/*。jar'/

包括名称='**/*。所以'/

包括名称='**/*。dll'/

/文件集

文件集id=' lib . container ' dir=' $ { lib . path }/container '

包括名称='**/*。jar'/

/文件集

文件集id=' lib . extras ' dir=' $ { lib . path } '

include name='test/**/*。jar'/

/文件集

16.模式集类型

文件集是文件的分组,而模式集是模式的分组。它们是密切相关的概念。

Patternset支持四个属性:includes、excludex、includexfile和exclusivesfile,与fileset相同。

Patternset还允许以下嵌套元素:include、exclude、includefile和excludesfile。

例子

复制代码如下:

!-黑白名单-

patternset id='non.test.sources '

包括名称='**/*。java'/

!-文件名包含排除测试-

exclude name='**/*Test*'/

/模式集

patternset id='sources '

include name='std/**/*。java'/

!——判断专业是在条件具备的情况下引进的——

include name='prof/**/*。java' if='professional'/

exclude name='**/*Test*'/

/模式集

!-一套文件-

模式集包括file='some-file'/

图案集

includesfile name='some-file'/

图案集/

图案集

includesfile name='some-file'/

includes file name=' $ { some-other-file } ' if=' some-other-file '/

图案集/

17.过滤器集类型

Filter定义了一组filterset,当文件被移动或复制时,它将替换文件的文本。

主要属性如下:

begintoken表示嵌套过滤器搜索的令牌,是标识其开头的字符串。

endtoken表示嵌套过滤器搜索的令牌。这是标识其结尾的字符串。

id是过滤器的唯一标识符。

refid是对构建文件中某处定义的过滤器的引用。

例子

复制代码如下:

!-将目标文件build.dir目录下version.txt文件中的@DATE@替换为今天的当前日期值,并将替换后的文件存储在dist.dir目录下-

将file='${build.dir}/version.txt '复制到File='${dist.dir}/version.txt '

过滤器集

筛选器令牌='日期'值=' $ {今天}'/

/filterset

/复制

!-自定义变量的格式-

将file='${build.dir}/version.txt '复制到File='${dist.dir}/version.txt '

!-从version.txt中的%位置搜索到*位置,将内容中的@DATE@替换为今天的当前日期值-

filter set begin token=“%”end token=“*”

筛选器令牌='日期'值=' $ {今天}'/

/filterset

/复制

!-使用外部的过滤定义文件-

copy toDir='${dist.dir}/docs '

文件集目录='${build.dir}/docs '

包括名称='**/*。'' html '

/文件集

筛选器集开始标记="% "结束标记="* "

!-过来文件从外部引入,过来的属性和值配置在分布式属性文件中-

筛选器文件file=“$ { user。方向}/距离。属性'/

/filterset

/复制

!-使用引用方式,重复利用过滤集-

筛选器集id=“我的筛选器集”开始标记=“%”结束标记=“*”

筛选器令牌='日期'值=' $ {今天}'/

/filterset

将file='${build.dir}/version.txt '复制到File='${dist.dir}/version.txt '

filterset refid='myFilterSet'/

/复制

18、路径类型

小路元素用来表示一个类路径,不过它还可以用于表示其他的路径。在用作几个属性时,路经中的各项用分号或冒号隔开。在构建的时候,此分隔符将代替当前平台中所有的路径分隔符,其拥有的属性如下。

位置表示一个文件或目录蚂蚁。在内部将此扩展为一个绝对路径。

refid是对当前构建文件中某处定义的一个小路的引用。

路径表示一个文件或路径名列表。

示例

复制代码代码如下:

路径id='buildpath '

文件集refid='lib.runtime'/

文件集refid='lib.container'/

文件集refid='lib.extras'/

/路径

路径id='src.paths '

文件集id='srcs' dir=','

包括name='src/**/* .java'/

/文件集

/路径

八、蚂蚁编译打包、运行工程

复制代码代码如下:

?可扩展标记语言版本='1.0 '编码='UTF八号'?

!-名字是当前工程的名称,默认是默认执行的任务,basedir是工作目录(.代表当前根目录) -

项目名称=' hello world '默认=' run ' basedir=','

!-财产类似于程序中定义简单的变量-

属性名='src '值='src'/

属性名称='目的地'值='类'/

属性名='hello_jar '值='helloWorld.jar'/

!-

目标是一个事件、事情、任务,名称是当前事情的名称,看情况是依赖的上一件或是多件事情

如果所依赖的事情没有执行,蚂蚁会先运行依赖事情,然后再运行当前事情

-

!-初始化-

目标名称='init '

!-建立班目录-

mkdir dir='${dest}'/

mkdir dir='temp'/

mkdir dir='temp2'/

/目标

!-编译-

target name=' compile ' depends=' init '

javac srcdir=' $ { src } ' dest dir=' $ { dest } '/

!-设置虚拟机(Java虚拟机的缩写)内存

javac srcdir='src' fork='true'/

javac srcdir=' src ' fork=' true ' executable=' d:\ SDK 141 \ bin \ javac '

memoryMaximumSize='128m'/

-

/目标

!-建立冲突包-

目标名称='构建'依赖='编译'

!-

jar jarfile=' $ { hello _ jar } ' basedir=' $ { dest } '/

创建一个名称是包。冲突文件

jar destfile=' package。jar ' basedir=' classes '/

-

jar destfile=' $ { hello _ jar } ' basedir=' classes '

!-向冲突包中的主要的文件中添加内容-

显示

属性名称='内置'值='${user.name}'/

属性名='主类'值='包.主'/

/清单

/jar

!-复制冲突文件todir='复制到目录-

将file='${hello_jar} '复制到file='${dest}\temp.jar'/

复制到dir='temp '

!-不按照默认方式默认排除=""-

文件集目录='src '

包括名称='**/*。java'/

/文件集

/复制

复制到dir='temp2 '

文件集目录='src '

包含text='main'/

当='更多'/时,大小值='1 '

/还有

/文件集

/复制

!-移动冲突文件-

将file='${dest}\temp.jar '移动到file='temp\move-temp.jar'/

!-创建拉链-

zip basedir=' $ { basedir } \ classes ' zip file=' temp \ output。zip '/

!-创建tgz -

gzip src='classes\**\* .class ' zip file='输出。班级。gz '/

!-解压拉链-

解压缩src='输出。班级。gz ' dest=' extract dir '/

!-替换输入文件内容中的老的为新的

替换file='输入。' txt ' token=' old ' value=' new '/

-

/目标

!-运行-

目标名称='运行'依赖='生成'

Java class name=' com。呼。测试。hello world ' class path=' $ { hello _ jar } '/

& amp它

;/target> ??? ??? <!-- 清除 --> ??? <target name="clean"> ??????? <!-- 删除生成的文件 --> ??????? <delete dir="${dest}"/> ??????? <delete file="${hello_jar}"/> ??? </target> ??? ??? <tstamp> ?????? <format property="OFFSET_TIME" ?????????????? pattern="HH:mm:ss" ?????????????? offset="10" unit="minute"/> ??? </tstamp> ??? ??? <!-- 重新运行 --> ??? <target name="rerun" depends="clean,run"> ??????? <echo message="###${TSTAMP}#${TODAY}#${DSTAMP}###"/> ??????? <aunt target="clean"/> ??????? <aunt target="run"/> ??? </target> </project> 要说的的东西基本上就那么多,ant还有很多内容没有提到,有兴趣的可以自己去研究研究。ant不难,你用它就像是在docs控制台输入命令行一样,只不过ant是将命令行转换为xml的脚本信息,可以进行重复的运行。在一定情况下,提高了效率和重复的工作。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: