最近因为工作需要,学习了一下ant工具的使用,个人感觉这个构造工具还是相当有用的!在学习中自己也做了些笔记,这里
贴出来,希望对想了解ant工具的人有点帮助,同时也感谢那位写《ant使用指南》的高手!
①ant的优点
跨平台,使用简单,语法清晰, 功能强大!
②Ant 生成文件剖析
A.每个生成文件由单个 project 元素组成,该元素又包含一个或多个 target 元素。
B.一个目标(target)是生成过程中已定义的一个步骤,它执行任意数量的操作,比如编译一组源文件。一次生成过程所
必需的所有操作可以放入单个 target 元素中。,但是那样会降低灵活性。
C.Ant 的 location 属性专门设计用于以平台无关的方式包含文件系统路径。例如:<property name="database-file"
location="archive/databases/${metal}.db"/>
<property name="database-file" location="archive\databases\${metal}.db"/> 这个标签的两个版本都会在不同的平台具有相
同的行为。
③定义依赖关系
Ant 采用一种更灵活的方法来定义 依赖关系 ,就像 make 和类似的生成工具所做的那样。每个目标的定义依据的是在它
在能够执行之前必须完成的其他所有目标。是使用 target 元素的 depends 属性来实现的。
④运行 ANT
就其本身而言,Ant 是一个命令行形式的工具,通常从 UNIX 或 Linux shell 提示符或者 Windows 命令提示符调用,
生成文件则使用您自己选择的文本编辑器来编写。现在很多的IDE都已经提供了对ant的支持,比如Eclipse,IDEA等,在IDE之需要
点右键在点左键就可以了。
⑤各种命令
A.编译源代码:由于 Ant 的主要目标是生成 Java 应用程序,它能够内在地、出色地支持调用 javac 编译器以及其他
Java 相关任务就毫不奇怪了。<javac srcdir="src"/> 。
B.javac 任务的一个重要特点在于,它仅编译那些它认为需要编译的源文件。
C.指定编译器的某些内存选项,或者需要使用一种不同级别的编译器的时候。为实现这个目的,只需将 javac 的 fork
属性设为 true,<javac srcdir="src" fork="true"/>
⑥创建 JAR 文件
在编译 Java 源文件之后,我们就可以把结果类文件打包到一个 JAR 文件中,这个文件类似 zip 归档文件。每个 JAR
文件都包含一个清单文件,它可以指定该 JAR 文件的属性。 <jar destfile="package.jar" basedir="classes"/>
⑦时间戳生成
在生成环境中使用当前时间和日期,以某种方式标记某个生成任务的输出,以便记录它是何时生成的,这经常是可取的。
例如<jar destfile="package-${DSTAMP}.jar" basedir="classes"/> 如果这个任务在 2009 年 10 月 9 日调用,该 JAR 文件将
被命名为 package-20091009.jar。
⑧文件操作
a.创建目录 :<mkdir dir="archive/metals/zinc"/>,mkdir目录分隔符可以是/、\ ;另一个有用特性是它的如下能力:
在父目录还不存在时创建它们
b.删除目录:<delete dir="archive/metals/zinc"/>,这将删除指定的目录连同它包含的所有文件以及子目录。 使用
file 属性而不是 dir 属性可以指定要删除的单个文件。
c.复制和移动文件及目录:<copy file="src/Test.java" tofile="src/TestCopy.java"/>
move 来执行重命名操作而不是拷贝文件: <move file="src/Test.java" tofile="src/TestCopy.java"/>
将文件复制或移动到另一个目录:
<copy file="src/Test.java" todir="archive"/>
<move file="src/Test.java" todir="archive"/>
d.创建和解压缩 zip 及 tar 文件:
创建 zip 文件的 Ant 任务:<zip destfile="output.zip" basedir="output"/>
创建 tar 文件:<gzip src="output.tar" zipfile="output.tar.gz"/>
解压缩和提取文件同样也很简单: <unzip src="output.tar.gz" dest="extractDir"/>
e.替换文件中的标记:<replace file="input.txt" token="old" value="new"/>
token 属性指定要查找的字符串,value 属性指定一个新的字符串,查找到的标记字符串的所有实例都被替换为这个新的字符串。
⑨模式匹配:文件集用于指定一组文件,并且这个组的内容可以使用 include 和 exclude模式来指定
A.以 .java 结尾的所有文件的模式是 *.Java
B.,模式 src*/*.java 将匹配带 src 前缀的任何目录中的所有Java 文件
C. **/*.java 将匹配当前目录结构下的所有 Java 文件
D.fileset:fileset 默认情况下包含指定 src 目录下的所有文件
<copy todir="archive">
<fileset dir="src">
<include name="*.java"/>
</fileset>
</copy>
⑩使用选择器:使用include 和 exclude 及 选择器 来选择文件
A size:这个选择器用于根据文件的字节大小选择文件(除非使用 units 属性来指定了不同的单位)。when 属性用于
设置比较的性质(less、more 或者 equal),value 属性定义每个文件将与之作比较的目标大小。
B contains:只有包含给定文本字符串(由text 属性指定)的文件才匹配这个选择器。默认情况下,查找操作是大小写
敏感的;添加 casesensitive="no" 可以改变默认设置。
C filename:name 属性指定文件名要与之匹配的模式。它本质上与 include 元素相同,以及与指定了negate="yes" 时
的 exclude 元素相同。
D present:从当前目录结构中选择如下文件:它们与指定的 targetdir 目录中的文件具有相同的名称和相对目录结构
。
E depend:这个选择器与 present 选择器具有相同的效果,只不过匹配的文件被限制到相对于 targetdir 位置中的对
应文件来说,最近已修改过的那些文件。
F date:这个选择器基于其最后修改日期选择文件。when 属性指定作比较的性质是 before、after 还是 equal,
datetime 属性指定与之作比较的日期和时间,这个日期和时间具有给定的固定格式 MM/DD/YYYY HH:MM AM_or_PM。注意
Windows 平台上有一个内置的 2 秒偏移,以允许底层文件系统的不精确性 —— 这可能导致匹配的文件数量超过预期。允许的回
旋时 间量可以使用 granularity 属性来更改(以毫秒为单位来指定)。
G depth:这个选择器检查每个文件的目录结构层次数目。min 和/或 max 属性用于选择具有想要的目录层次数目的的文
件。
选择那些大于 512 字节并且包含字符串“hello”的文件
<fileset dir="dir">
<and>
<contains text="hello"/>
<size value="512" when="more"/>
</and>
</fileset>
对于自定义ant应用,现在自己还没有搞醒豁,弄清楚了再贴上来!!
分享到:
相关推荐
根据提供的文件信息,这里将深入解析“ant学习笔记:一个简单的java编译部署实例”,涵盖标题、描述、标签以及部分内容中提及的关键知识点。 ### Apache Ant简介 Apache Ant是一款开源的Java环境下的自动化构建...
**Ant学习笔记** Ant是一个基于Java的构建工具,它的全称是Another Neat Tool,主要应用于Java项目的构建。Ant的设计理念是通过XML配置文件来定义构建过程,而非依赖于特定平台的shell命令。每个构建任务是由实现了...
**Ant学习笔记** Apache Ant,一个Java库和命令行工具,其任务是驱动构建过程。它是Java世界中广泛使用的构建工具,类似于Unix世界的Make。Ant以其XML格式的构建文件(通常命名为`build.xml`)而闻名,这个文件包含...
### ant学习笔记:深入了解ant构建工具 #### 引言 `ant`,作为一款源自动网络的学习笔记,主要探讨了Apache Ant这一强大的构建工具。Apache Ant是一款开源的、跨平台的构建工具,专为Java应用程序设计,旨在简化并...
NULL 博文链接:https://worktianqi.iteye.com/blog/2162932
Ant 1.9.1是Ant的一个版本,学习笔记通常记录了使用该工具的基本操作和配置方法。 ### Ant的下载和安装 要使用Ant,首先需要下载并安装。在Windows系统中,通常需要配置环境变量以便于命令行中使用Ant命令。ANT_...
总的来说,这个“ant个人学习笔记和简单示例”应该能帮助你掌握Ant的基本用法,理解构建过程的自动化,以及如何编写和维护自己的构建文件。通过学习和实践其中的示例,你将能够熟练地运用Ant来构建和管理Java项目,...
Java/JavaEE 学习笔记 作者在杰普学习时的学习笔记,是J2ee初学者必备手册,是大家学习J2EE开发的很好的参考笔记。 Java/JavaEE 学习笔记 内容...ant学习笔记...................387 Web Service学习笔记.....388
《Ant构建工具学习指南》 Ant,作为Java领域的一个强大构建工具,它的主要作用在于将复杂的项目构建过程规范化、自动化,使得开发者能够更专注于代码的编写而非构建流程。本文将深入探讨Ant的基本概念、安装配置、...
内容目录 .......................1 Java/JavaEE.....1 2008年11月1日...............1 Unix 学习笔记7 一、Unix前言............7 ...ant学习笔记...................387 Web Service学习笔记.....388
**ANT学习笔记(一)——ANT结合JUNIT4学习DEMO** ANT,全称为Apache Ant,是一个基于Java的构建工具,用于自动化Java项目的构建、编译、测试和部署过程。它通过XML配置文件来定义任务,使得项目构建过程可配置且可...
在本篇ANT学习笔记中,我们将探讨如何将ANT应用于WEB项目的测试DEMO。ANT是一个流行的Java构建工具,它允许开发者自动化构建、测试和部署软件。本文档将介绍ANT的基本概念,以及如何配置和运行一个针对WEB应用的构建...
### ant的学习笔记知识点详解 #### 一、Ant的作用与特性 Ant是一款强大的自动化构建工具,主要应用于Java项目,能够高效地处理项目的编译、打包、测试等任务。它采用XML格式编写构建脚本,这使得Ant具有良好的跨...
在"Ant打包编译部署工具学习笔记2"中,我们可以预期博主分享了关于如何利用Ant进行更复杂的构建操作,例如集成测试、优化和打包。这可能包括如何配置build.xml文件,添加自定义任务,以及如何处理依赖关系。由于没有...
3. **Ant学习笔记.doc与Ant权威指南.pdf** Ant是Java世界里常用的构建工具,能够自动化执行编译、打包、测试等任务。文档和PDF提供了Ant的基本使用、任务定义、宏定义等,对于项目构建流程的管理至关重要。 4. **...