Apache Ant Tasks 简明教程
Apache Ant Tasks - Introduction
ANT 代表 Another Neat 工具。它是一种来自计算机软件开发公司 Apache 的基于 Java 的构建工具。在深入了解 Apache Ant 的细节之前,让我们首先理解为什么我们需要一个构建工具。
Need for a Build Tool
通常,开发人员将大量时间花在执行构建和部署等平凡任务上,其中包括−
-
Compiling the code
-
Packaging the binaries
-
将二进制文件部署到测试服务器
-
Testing the changes
-
将代码从一个位置复制到另一个位置
Apache Ant 对于自动化和简化上述任务非常有用。它是一种可以从命令行执行的操作系统构建和部署工具。Ant 任务简化了操作的执行。
Apache Ant Tasks - Environment Setup
Apache Ant 以 Apache 软件许可证分发,该许可证是开源计划认证的、成熟的开源许可证。
最新版本的 Apache Ant, 包括了它的全源代码、类文件和文档,可以在 https://ant.apache.org 找到。
Installing Apache Ant
我们假设您已经下载并安装了 Java 开发工具包 (JDK)。如果没有,请按照 file:///C:/java/java_environment_setup.htm 的说明进行操作。
-
确保 JAVA_HOME 环境变量设置为您的 JDK 所安装到的文件夹。
-
从 https://ant.apache.org 下载二进制文件。
-
使用 Winzip、winRAR、7-zip 或类似工具将 zip 文件解压缩到 c:\folder 之类的方便位置中。
-
创建一个名为 ANT_HOME 的新环境变量,它指向 Ant 安装文件夹。这儿这个文件夹是 c:\apache-ant-1.10.12-bin 文件夹。
-
将 Apache Ant 批处理文件路径附加到 PATH 环境变量。在我们的案例中,就是 c:\apache-ant-1.10.12-bin\bin 文件夹。
Verifying the Installation
在计算机中验证 Apache Ant 的安装是否成功,请在命令提示符中键入 ant。
您应当看到以下输出结果:
C:\>ant -version
Apache Ant(TM) version 1.10.12 compiled on October 13 2021
如果您没有看到以上输出结果,请验证您是否已经正确地按照安装步骤操作。
Installing Eclipse
本教程还涵盖了 Ant 和 Eclipse 集成开发环境 (IDE) 的集成。因此,如果您没有安装 Eclipse,请下载并安装 Eclipse。
Steps to install Eclipse
-
从 www.eclipse.org 下载最新的 Eclipse 二进制文件。
-
将 Eclipse 二进制文件解压缩到方便的位置,比如 c:\folder。
-
Run Eclipse from c:\eclipse\eclipse.exe.
Apache Ant Tasks - BaseName
Apache Ant Tasks - Chmod
Properties
Sr.No |
Attributes & Description |
1 |
File 必须更改权限的文件或单个目录。(强制) |
2 |
Dir 包含必须更改权限的文件的目录。(强制) |
3 |
Perm The new permissions. (Mandatory) |
4 |
Includes 必须包含的文件模式的逗号或空格分隔列表。(可选) |
5 |
Excludes 必须排除的文件模式的逗号或空格分隔列表。(可选) |
6 |
Defaultexcludes 指示是否使用默认的排除项(是 |
否)。(可选)。默认是是。 |
7 |
Parallel 使用单个 chmod 命令处理所有指定的文件。(可选)。默认是 true。 |
8 |
Type 文件、目录或两者之一。如果设置为文件,则只更改普通文件的权限。如果设置为目录,则只考虑目录。(可选)。默认是文件。 |
9 |
Maxparallel 最多传入这么多源文件,以此限制并行度。将其设置为负整数以获取无限数量。(可选)。默认是无限。 |
10 |
Verbose 是否在执行后打印摘要。(可选)。默认是 false。 |
11 |
OS 可以在其上执行命令的操作系统列表。(可选) |
12 |
Apache Ant Tasks - Concat
Properties
Sr.No |
Attributes & Description |
1 |
Destfile 合并流的目标文件。如果未指定,则将使用控制台。 |
2 |
Append 指定是否附加由 destfile 指定的文件。 |
3 |
Overwrite 指定是否即使由 destfile 指定的文件比所有源文件都新,也应该写入该文件。 |
4 |
ForceReadonly Overwrite read-only destination files. |
5 |
Encoding 指定输入文件的编码。 |
6 |
Outputencoding 写入输出文件时要使用的编码。 |
7 |
Fixlastline 指定是否检查是否每个连接的文件都以新行结尾。如果此属性为 yes,则如果文件不是以新行结尾,将向流添加一个新行。 |
8 |
EOL 指定行尾字符供 fixlastline 属性使用。 |
9 |
Binary 如果此属性设置为 true,则任务按字节顺序连接文件。如果此属性为 false,则 concat 通常不适用于二进制文件,这是由于字符编码问题。如果此选项设置为 true,则必须设置 destfile 属性,且任务无法使用嵌套文本。此外,无法使用 encoding、outputencoding、filelastline 属性。 |
10 |
Filterbeforeconcat 如果此属性设置为 true,则任务在应用 fixlastline 后将过滤器链应用于每个输入。如果此属性为 false,则 concat 将仅对已连接的输入应用过滤器链一次。此设置不会影响标题和页脚的过滤。 |
11 |
Ignoreempty 指定是否在源资源列表为空时创建 destfile 指定的文件。 |
12 |
Resourcename 指定如果此任务作为资源公开,则报告的名称。 |
Apache Ant Tasks - Condition
Apache Ant Tasks - Copy
Properties
Sr.No |
Attributes & Description |
1 |
File 要复制的文件。(必需) |
2 |
Preservelastmodified 为所复制的文件指定与原始源文件相同的上一次修改时间。 |
3 |
Tofile 要复制到的文件。 |
4 |
Todir 要复制到的目录。 |
5 |
Overwrite 即使目标文件较新,也覆盖现有文件。 |
6 |
Force Overwrite read-only destination files. |
7 |
Filtering 指出在复制过程中是否应使用全局构建文件筛选器进行标记筛选。 |
8 |
Flatten 忽略源文件的目录结构,并将所有文件复制到由 todir 属性指定的目录中。 |
9 |
includeEmptyDirs 复制 |
10 |
Failonerror 如果为假,在复制的文件不存在或者嵌套文件集之一指向不存在的目录或者在复制过程中发生错误时,记录一条警告消息,但不要停止构建。 |
11 |
Quiet 如果为 true 且 failonerror 为 false,则以下情况下不要记录警告消息:要复制的文件不存在,或者嵌套文件集之一指向不存在的目录,或者复制时出现错误。 |
12 |
Verbose 记录正在复制的文件。 |
13 |
Encoding 在过滤复制文件时假定的编码。 |
14 |
Outputencoding 写文件时使用的编码。 |
15 |
Enablemultiplemappings 如果为 true,则任务将处理给定源路径的所有映射。如果为 false,则任务仅处理第一个文件或目录。此属性仅当存在 mapper 子元素时才相关。 |
16 |
Granularity 在判定文件过时之前留有的毫秒数。这有必要,因为并非所有文件系统都支持毫秒级地跟踪最后修改时间。如果源文件和目标文件位于时钟不同步的不同机器上,这可能也有用。 |
Apache Ant Tasks - Delete
Properties
Sr.No |
Attributes & Description |
1 |
File 要删除的文件,指定为简单文件名(如果文件存在于当前基本目录中)、相对路径文件名或完整路径文件名。 |
2 |
DIR 要删除的目录,包括其所有文件和子目录。 |
3 |
Verbose 是否显示每个已删除文件的名称。 |
4 |
Quiet 如果指定的文件或目录不存在,请勿显示诊断消息。 |
5 |
Failonerror 控制错误(如删除文件失败)是否停止构建或仅仅向屏幕报告。仅在 quiet 为 false 时才相关。 |
6 |
Includeemptydirs 使用文件集时是否删除空目录。 |
7 |
Deleteonexit 指示在删除文件失败时是否使用 File#deleteOnExit()。这会导致 JVM 在 JVM 进程终止时尝试删除该文件。 |
8 |
removeNotFollowedSymlinks 如果由于 followSymlinks 为 false 或符号链接的最大数量太大而没有跟踪符号链接(而不是它们链接到的文件/目录),是否应删除符号链接。 |
9 |
performGCOnFailedDelete 如果 Ant 无法删除文件或目录,它将重新尝试该操作一次。如果将此标志设置为 true,它将在重新尝试删除前执行垃圾回收。 |
Apache Ant Tasks - EAR
Properties
Sr.No |
Attributes & Description |
1 |
Destfile 要创建的 EAR 文件。 |
2 |
app.xml 要使用的部署描述符 (META-INF/application.xml)。 |
3 |
Basedir 从中将文件 jar 化的目录。 |
4 |
Compress 不仅存储数据,还压缩数据。除非将 keep compression 属性设置为 false,否则这将应用于整个存档,而不仅应用于更新时添加的文件。 |
5 |
Keepcompression 对于源自现有存档的项(如嵌套 zipfileset 或在更新存档时),保持压缩,就像它最初创建时一样,而不使用 compress 属性。 |
6 |
Encoding 用于存档内文件名的字符编码。 |
7 |
Filesonly Store only file entries. |
8 |
Include 必须包括的文件的模式的逗号或空格分隔列表。 |
9 |
Includesfile 文件的名称。此文件中的每一行都视为包含模式。 |
10 |
Excludes 必须排除的文件模式的由逗号或空格分隔的列表。 |
11 |
Excludesfile 文件的名称。此文件中的每一行都视为排除模式。 |
12 |
Defaultexcludes 指示是否应使用默认排除项(是 |
no). |
13 |
Menifest 要使用的清单文件。 |
14 |
Filesetmanifest 在 zipfileset 或 zipgroupfileset 文件中找到清单文件时的行为。有效值包括:跳过、合并和合并而不进行主要处理。合并将把所有清单合并在一起,然后将此合并合并到任何其他指定清单中。合并而不进行主要处理将合并清单中的所有内容,但是不包括主部分。 |
15 |
Whenmanifestonly 当没有文件匹配时的行为。有效值包括:失败、跳过和创建。 |
16 |
Manifestencoding 当指定清单文件时,用于读取 JAR 清单的编码。 |
17 |
Index 是否创建索引列表以加快类加载。除非使用嵌套的 indexjars 元素指定其他 JAR,否则只有此 JAR 的内容才会包含在索引中。 |
18 |
IndexMetaInf 是否将 META-INF 及其子项包含在索引中。如果 index 为 false,则没有任何效果。Oracle 的 JAR 实现用于跳过 META-INF 目录,并且 Ant 遵循该示例。此行为已在 Java 5 中更改。为了避免在 Java 1.4 或更早版本上生成 Ant JAR 时出现问题,Ant 在未明确要求时将不会包含 META-INF。 |
19 |
Manifestencoding 当指定清单文件时,用于读取 JAR 清单的编码。 |
20 |
Update 指示在目标文件已经存在时是更新还是覆盖它。 |
21 |
Duplicate 找到重复文件时的行为。有效值包括:添加、保留和失败。 |
22 |
Roundup 是否将文件修改时间向上舍入到下一偶数秒。 |
23 |
Level 执行文件压缩时使用的非默认级别。有效值从 0(无压缩/最快)到 9(最大压缩/最慢)不等。 |
24 |
Preserve0permissions 当更新存档或从其他存档添加条目时,Ant 会假设 UNIX 权限值为 0(任何人都不允许对文件/目录执行任何操作),这意味着权限根本未存储而非实际权限,并将改为应用其自身默认值。 |
25 |
*UseLanguageEncodingFlag *如果编码为 UTF-8,则设置语言编码标志。如果编码不为 UTF-8,则此设置没有任何效果。 |
26 |
CreateUnicodeExtraFields 是否创建 Unicode 扩展字段以将文件名第二次存储在条目的元数据内。 |
27 |
FallbacktoUTF8 如果无法使用指定编码对文件进行编码,是否使用 UTF-8 和语言编码标志而不是指定编码。 |
28 |
MergeClassPathAttributes 是否合并不同清单中找到的类路径属性(如果合并清单)。如果为 false,则只保留最后一个合并的清单的属性。 |
29 |
FlattenAttributes 是否将某个部分中出现多次的属性(这种情况只能发生在 Class-Path 属性中)合并为一个属性。 |
30 |
Example
Usage
使用以下内容创建 build.xml −
<?xml version="1.0"?>
<project name="TutorialPoint" default="info">
<property name="src.dir" value="src" />
<property name="build.dir" value="build" />
<target name="info">
<ear destfile="${build.dir}/myapp.ear" appxml="${src.dir}/metadata/application.xml">
<fileset dir="${build.dir}" includes="*.jar,*.war"/>
</ear>
</target>
</project>
上述脚本将在当前目录中创建一个名为 myapp.ear 的 ear 文件。
Apache Ant Tasks - Fail
Apache Ant Tasks - Import
Properties
Sr.No |
Attributes & Description |
1 |
File 要导入的文件。如果这是一个相对文件名,则文件名将相对于导入文件解析。注意:这与大多数其他 Ant 文件属性不同,后者的相对文件相对于 basedir 解析。 |
2 |
Optional 如果为 true,则如果文件不存在,则不要停止构建。 |
3 |
As 指定前缀加到目标名称之前。 |
4 |
prefixSeparator 指定前缀和目标名称之间要使用的分隔符。 |
Example
Usage
使用以下内容创建 build.xml −
<?xml version="1.0"?>
<project name="TutorialPoint" default="info">
<import file="nested.xml" as="nested"/>
<target name="info" depends="nested.echo">
</target>
</project>
以及嵌套的 xml 文件,内容如下 −
<project>
<target name="setUp">
<property name="build.dir" value="build"/>
</target>
<target name="echo" depends="setUp">
<echo>build.dir is set as build</echo>
</target>
</project>
上述脚本将在当前目录中创建一个名为 myapp.ear 的 ear 文件。
Apache Ant Tasks - Java
Properties
Sr.No |
Attributes & Description |
1 |
Classname 要执行的 Java 类。 |
2 |
Jar 要执行的 jar 文件的位置。如果选定此选项,则 fork 必须设置为 true。 |
3 |
Module 要解析的初始化或主模块(必须在清单中有一个 Main-Class 条目)。如果选定此选项,则 fork 必须设置为 true。 |
4 |
Sourcefile 具有 Java 源代码的“.java”文件或包含 shebang 的文件的位置。将此属性设为运行 Java 单文件源程序,这是 Java 11 中引入的一项功能。如果选定此选项,则 fork 必须设置为 true。 |
5 |
Classpath The classpath to use. |
6 |
Classpathref 要使用的类路径,表示为对在其他位置定义的 Path 的引用。 |
7 |
Modulepath 指定从哪里查找应用程序模块。模块、模块文件或展开的模块的目录列表。 |
8 |
modulepathref 要使用的模块路径,表示为对在其他位置定义的路径的引用。 |
9 |
Fork 如果启用,将触发在另一个 JVM 中执行类。 |
10 |
Spawn 如果启用,则允许启动一个会比 Ant 存活时间更长的进程。要求 fork 为 true,且与 timeout、input、output、error、result 属性不兼容 |
11 |
Sourcefile 具有 Java 源代码的“.java”文件或包含 shebang 的文件的位置。将此属性设为运行 Java 单文件源程序,这是 Java 11 中引入的一项功能。如果选定此选项,则 fork 必须设置为 true。 |
12 |
jvm 用于调用 JVM 的命令。此命令由 java.lang.Runtime.exec() 解析。如果 fork 为 false,则忽略此命令。 |
13 |
Maxmemory 要分配给分叉的 JVM 的最大内存量,如果 fork 为 false,则忽略。 |
14 |
Failonerror 如果命令使用非 0 返回码退出,则停止构建进程。 |
15 |
resultproperty 在该命令的返回码应存储在其中的属性的名称。仅当 failonerror 为 false 且 fork 为 true 时才有意义。 |
16 |
DIR 调用 JVM 所在的目录,如果 fork 为 false,则忽略。 |
17 |
Output 要将输出写入的文件的名称。如果错误流也未重定向到文件或属性,它将显示在此输出中。 |
18 |
Error 命令的标准错误应重定向到的文件。 |
19 |
logerror 当你想要在 Ant 的日志中查看错误输出并正在将输出重定向到文件/属性时,使用此属性。错误输出将不包含在输出文件/属性中。如果你通过 error 或 errorProperty 属性重定向错误,则此项将不起作用。 |
20 |
Append 输出和错误文件应追加还是覆盖。 |
21 |
Outputproperty 应在其中存储命令的输出的属性的名称。除非错误流重定向到了一个单独的文件或流中,否则此属性将包含错误输出。 |
22 |
Errorproperty 应在其中存储命令的标准错误输出的属性的名称。 |
23 |
Input 从其中获取被执行命令的标准输入的文件。此属性与 input 字符串属性互斥。 |
24 |
Inputstring 充当被执行命令的输入流的字符串。此属性与 input 属性互斥。 |
25 |
Newenvironment 在指定了新的环境变量时不要传播旧环境。 |
26 |
Timeout 如果命令未在指定的时间内完成(以毫秒为单位),则停止该命令。强烈建议仅在 fork 为 true 的情况下使用此功能。 |
27 |
Clonevm 如果设置为 true,则所有系统属性和分支 JVM 的启动类路径都将与运行 Ant 的 JVM 相同。 |
28 |
Discardoutput 输出是否应被完全丢弃。此设置与任意将输出重定向到文件或属性的设置不兼容。如果你将其设置为 true,错误输出也将被丢弃,除非你将错误输出重定向到文件、属性或启用 logError。 |
29 |
Discarderror 错误输出是否应被完全丢弃。此设置与将错误输出重定向到文件或属性以及 logError 的任何设置不兼容。 |
Example
Usage
使用以下内容创建 TestMessage.java −
public class TestMessage {
public static void main(String[] args) {
System.out.println("Welcome to tutorialspoint.com");
}
}
使用以下内容创建 build.xml −
<?xml version="1.0"?>
<project name="TutorialPoint" default="info">
<target name="info">
<java classname="TestMessage" classpath="."/>
</target>
</project>
以上脚本将运行一个 java 类文件以打印输出。
Apache Ant Tasks - Javac
Description
Javac 任务编译 Java 源树。将递归扫描源目录和目标目录,以查找要编译的 Java 源文件。只有对应 .class 文件不存在或 .class 文件较旧的 .java 文件才会被编译。
Properties
Sr.No |
Attributes & Description |
1 |
Srcdir java文件的地址 |
2 |
Destdir 存放类文件的地址 |
3 |
Includes 逗号或空格分隔必须包含的文件模式的列表 |
4 |
Includesfile 一个文件的文件名。该文件的每一行都被视为一个包含模式。 |
5 |
Excludes 逗号或空格分隔必须排除的文件模式的列表 |
6 |
Excludesfile 文件的名称。此文件中的每一行都视为排除模式。 |
7 |
Defaultexcludes 指示是否应使用默认排除项(是 |
no). |
8 |
Classpath The classpath to use. |
9 |
Sourcepath 要使用的源路径。为了关闭源路径开关,请使用sourcpath="" |
10 |
Bootclasspath 引导类文件的地址 |
11 |
Classpathref 要使用的类路径,作为对已在其他地方定义的路径的引用 |
12 |
Sourcepathref 要使用的源路径,作为对已在其他地方定义的路径的引用 |
13 |
Bootclasspathref 要使用的引导类路径,作为对已在其他地方定义的路径的引用 |
14 |
Extdirs Location of installed extensions. |
15 |
Encoding Encoding of source files. |
16 |
NSowarn 表明是否应将-nowarn开关传递给编译器 |
17 |
Debug 表明是否应用调试信息编译源代码。如设置关闭,则对于支持它的编译器,将在命令行上传递 -g:nobe(对于其他编译器,将不使用命令行参数)。如设置“真”,debuglevel属性的值将决定命令行参数 |
18 |
Debuglevel 要附加到 -g 命令行开关的关键字列表。合法值为none或以下关键字的逗号分隔列表:lines、vars和source |
19 |
Optimize 表明是否应使用优化编译源代码。请注意, 自JDK 1.3起,此标志已被Sun的javac忽略(因为编译时优化是不必要的) |
20 |
Deprecation 表明是否应使用弃用信息来编译源代码 |
21 |
Verbose 要求编译器给出详细输出 |
22 |
Depend 启用对支持此的编译器的依赖项跟踪(jikes和classic) |
23 |
includeAntRuntime 是否在类路径中包括Ant运行时库。通常最好将其设置为false,因此脚本的行为不受其所运行环境的影响 |
24 |
includeJavaRuntime 是否在类路径中包括执行JVM中的默认运行时库 |
25 |
Fork 是否使用JDK编译器外部执行javac |
26 |
Executable 如果分叉为是,要用于 javac 可执行文件的完整路径。 |
27 |
memoryInitialSize 如果外部运行 javac,则底层 JVM 的初始内存大小。(示例:83886080、81920k 或 80m) |
28 |
memoryMaximumSize 如果外部运行 javac,则底层 JVM 的最大内存大小;否则忽略。(示例:83886080、81920k 或 80m) |
29 |
Failonerror 指示编译错误是否导致构建失败。 |
30 |
Errorproperty 如果编译失败要设为 true 的属性。 |
31 |
Source 编译器接受的 Java 语言特性,如 -source 命令行开关所指定。有效特性版本为 1.3、1.4、1.5 或 5 等。 |
32 |
Target 为特定 JVM 版本生成 class 文件(交叉编译)。 |
33 |
Compiler 要使用的编译器实现。 |
34 |
listfiles 指示是否列出要编译的源文件。 |
35 |
TempDir Ant 应该放置临时文件的位置。这仅在进行分叉任务且命令行参数长度超过 4 kB 时使用。 |
36 |
updatedProperty 如果已进行编译且编译成功,要设为 true 的属性。 |
37 |
includeDestClasses 此属性控制是否将目标类目录包含在提供给编译器的 classpath 中。如果设置成 true(默认值),先前编译的类将在编译器的 classpath 中。 |
38 |
createMissingPackageInfoClass package-info.java 文件中的一些包级注释不会创建任何 package-info.class 文件,因此 Ant 会每次重新编译同一文件。 |
39 |
MSodulepath 指定应用程序模块查找位置。模块目录、模块文件或解压模块的列表。 |
40 |
Modulepathref 要使用的模块路径,给定为对在其他地方定义的路径的引用。 |
41 |
Modulesourcepath 指定多模块编译的输入源文件查找位置。 |
42 |
Modulesourcepathref 要使用的 modulesourcepath,给定为对在其他地方定义的路径的引用。 |
43 |
Upgrademodulepath 指定在运行时映像中替换可升级模块的模块位置。 |
44 |
Upgrademodulepathref 要使用的 upgrademodulepath,给定为对在其他地方定义的路径的引用。 |
45 |
NSativeheaderdir 指定放置生成的本机头文件的目录。 |
46 |
Example
Usage
在 src 目录中创建 TestMessage.java,其内容如下:
public class TestMessage {
public static void main(String[] args) {
System.out.println("Welcome to tutorialspoint.com");
}
}
使用以下内容创建 build.xml:
<?xml version="1.0"?>
<project name="TutorialPoint" default="info">
<target name="info">
<javac srcdir="src" destdir="build"/>
</target>
</project>
以上脚本将运行一个 java 类文件以打印输出。
Output
在上述构建文件上运行 Ant 会生成以下输出:
F:\tutorialspoint\ant>ant
Buildfile: F:\tutorialspoint\ant\build.xml
info:
[javac] F:\tutorialspoint\ant\build.xml:4: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 1 source file to F:\tutorialspoint\ant\build
BUILD SUCCESSFUL
Total time: 0 seconds
Apache Ant Tasks - Length
Properties
Sr.No |
Attributes & Description |
1 |
Property The property to set. |
2 |
Mode 文件长度模式;当 all 出现时,结果值是所有包含的资源长度的总和;当 each 出现时,该任务将输出每个包含的资源的绝对路径和长度,每行一个。 |
3 |
File 报告其长度的单个文件。 |
4 |
Resource 报告其长度的单个资源(使用扩展属性处理)。 |
5 |
String 报告其长度的字符串。 |
6 |
Trim 在对字符串进行操作时是否修剪。 |
7 |
Length Comparison length. |
8 |
When 比较类型:相等,eq,大于,gt,小于,lt,大于或等于,ge,不等于,ne,小于或等于,le。 |
Apache Ant Tasks - LoadFile
Properties
Sr.No |
Attributes & Description |
1 |
srcFile Source File. |
2 |
Property Property to save to. |
3 |
Encoding 用于载入文件时的编码。 |
4 |
failonerror 是否在失败时停止构建。 |
5 |
Quiet 不显示诊断消息(除非 Apache Ant 已使用 -verbose 或 -debug 开关调用),也不修改退出状态以反映错误。将此设置为 true 表示将 failonerror 设置为 false。 |
Apache Ant Tasks - Move
Description
Move 任务将文件移动到新文件或目录中,或将文件集合移动到新目录中。默认情况下,如果目标文件已存在,则会覆盖该文件。当 overwrite 关闭时,只有源文件比目标文件更新时或当目标文件不存在时,才会移动文件。
Properties
Sr.No |
Attributes & Description |
1 |
File 要移动的文件或目录。 |
2 |
Preservelastmodified 将移动的文件其最后修改时间与原始源文件相同。 |
3 |
Tofile 要移动到的文件。 |
4 |
Todir 要移动到的目录。 |
5 |
Overwrite 即使目标文件较新,也覆盖现有文件。 |
6 |
Force Overwrite read-only destination files. |
7 |
Filtering 指示移动过程中是否应执行令牌筛选。 |
8 |
Flatten 忽略源目录的目录结构,将所有文件复制到单个目录中,该目录由 todir 属性指定。 |
9 |
IncludeEmptyDirs 复制嵌套 FileSet 包含的空目录。 |
10 |
Failonerror 如果为 false,则在以下情况下记录一条警告消息,但不要停止构建:要复制的文件不存在,或者嵌套文件集之一指向不存在的目录,或者移动时出现错误。 |
11 |
Quiet 如果为 true 且 failonerror 为 false,则以下情况下不要记录警告消息:要复制的文件不存在,或者嵌套文件集之一指向不存在的目录,或者复制时出现错误。 |
12 |
Verbose 记录正在移动的文件。 |
13 |
Encoding 在过滤复制文件时假定的编码。 |
14 |
Outputencoding 写文件时使用的编码。 |
15 |
Enablemultiplemappings 如果为 true,则任务将处理给定源路径的所有映射。如果为 false,则任务仅处理第一个文件或目录。此属性仅当存在 mapper 子元素时才相关。 |
16 |
Granularity 在判定文件过时之前留有的毫秒数。这有必要,因为并非所有文件系统都支持毫秒级地跟踪最后修改时间。如果源文件和目标文件位于时钟不同步的不同机器上,这可能也有用。 |
17 |
performGCOnFailedDelete 如果 Ant 无法删除文件或目录,它将重试一次该操作。如果将此标志设置为 true,它将在重试删除之前执行一次垃圾收集。已知将此标志设置为 true 可以解决 Windows(在此系统上默认为 true)上的一些问题,但对于驻留在 NFS 共享上的目录树也可以解决这些问题。 |
Apache Ant Tasks - Sleep
Apache Ant Tasks - WAR
Description
War 任务是 Jar 任务的扩展,专门针对最终应位于 Web 应用程序归档的 WEB-INF/lib、WEB-INF/classes 或 WEB-INF 目录中的文件进行处理。
Properties
Sr.No |
Attributes & Description |
1 |
Destfile 要创建的 WAR 文件。 |
2 |
Webxml 要使用的 Servlet 配置描述符 (WEB-INF/web.xml)。 |
3 |
Basedir 从中打包 JAR 文件的目录。 |
4 |
Compress 不仅存储数据,还会压缩它们。除非将 keepcompression 属性设置为 false,否则这将适用于整个存档,而不仅仅是更新时添加的文件。 |
5 |
Keepcompression 对于源自现有存档的项(如嵌套 zipfileset 或在更新存档时),保持压缩,就像它最初创建时一样,而不使用 compress 属性。 |
6 |
Encoding 用于存档内文件名的字符编码。 |
7 |
Filesonly Store only file entries. |
8 |
Include 必须包括的文件的模式的逗号或空格分隔列表。 |
9 |
includesfile 文件名。该文件的每一行都将成为包含模式。 |
10 |
Excludes 必须排除的文件模式的由逗号或空格分隔的列表。 |
11 |
Excludesfile 文件的名称。此文件中的每一行都视为排除模式。 |
12 |
defaultexcludes 指出是否应使用默认排除项(yes |
no). |
13 |
Menifest 要使用的清单文件。 |
14 |
Filesetmanifest 在 zipfileset 或 zipgroupfileset 文件中找到清单文件时的行为。有效值包括:跳过、合并和合并而不进行主要处理。合并将把所有清单合并在一起,然后将此合并合并到任何其他指定清单中。合并而不进行主要处理将合并清单中的所有内容,但是不包括主部分。 |
15 |
Whenmanifestonly 当没有文件匹配时的行为。有效值包括:失败、跳过和创建。 |
16 |
Manifestencoding 当指定清单文件时,用于读取 JAR 清单的编码。 |
17 |
Index 是否创建索引列表以加快类加载速度。除非使用嵌套 indexjars 元素指定其他 jar,否则仅包含此 jar 的内容索引。 |
18 |
indexMetaInf 是否将 META-INF 及其子项包含在索引中。如果 index 为 false,则没有任何效果。Oracle 的 jar 实现过去跳过 META-INF 目录,而 Ant 也采用了此示例。此行为已在 Java 5 中更改。为了避免 Java 1.4 或更早版本上 Ant 生成的 jar 出现问题,除非明确要求,否则 Ant 不会包含 META-INF。 |
19 |
Manifestencoding 当指定清单文件时,用于读取 JAR 清单的编码。 |
20 |
Update 如果目标文件已存在,指出是否要更新或覆盖目标文件。 |
21 |
Duplicate 找到重复文件时的行为。有效值包括:添加、保留和失败。 |
22 |
Roundup 是否将文件修改时间向上舍入到下一偶数秒。 |
23 |
Level 执行文件压缩时使用的非默认级别。有效值从 0(无压缩/最快)到 9(最大压缩/最慢)不等。 |
24 |
preserve0permissions 在更新存档或添加来自其他存档的条目时,Ant 会假设 Unix 权限值为 0(任何人都不允许对文件/目录执行任何操作)表示尚未存储权限,而不是实际权限,因此会应用它自己的默认值。 |
25 |
useLanguageEncodingFlag 如果编码为 UTF-8,则指出是否设置语言编码标志。如果编码不是 UTF-8,此设置没有任何效果。 |
26 |
createUnicodeExtraFields 是否创建 Unicode 扩展字段以在条目的元数据中第二次存储文件名。 |
27 |
fallbacktoUTF8 如果无法使用指定编码对文件名进行编码,则指出是否使用 UTF-8 和语言编码标志,而不是指定的编码。 |
28 |
mergeClassPathAttributes 在不同清单中找到 Class-Path 属性时是否合并它们(如果合并清单)。如果为 false,则只保留最后一个合并清单的属性。 |
29 |
FlattenAttributes 是否将某个部分中出现多次的属性(这种情况只能发生在 Class-Path 属性中)合并为一个属性。 |
30 |
zip64Mode 何时对条目使用 Zip64 扩展。可能的值为永不、始终和按需。 |
31 |
Apache Ant Tasks - Zip
Properties
Sr.No |
Attributes & Description |
1 |
Destfile 要创建的 ZIP 文件。 |
2 |
Zipfile destfile 的旧名称。不推荐使用。 |
3 |
Basedir 从中打包 JAR 文件的目录。 |
4 |
Compress 不仅存储数据,还会压缩它们。除非将 keepcompression 属性设置为 false,否则这将适用于整个存档,而不仅仅是更新时添加的文件。 |
5 |
Keepcompression 对于源自现有存档的项(如嵌套 zipfileset 或在更新存档时),保持压缩,就像它最初创建时一样,而不使用 compress 属性。 |
6 |
Encoding 用于存档内文件名的字符编码。 |
7 |
Filesonly Store only file entries. |
8 |
Include 必须包括的文件的模式的逗号或空格分隔列表。 |
9 |
Includesfile 文件的名称。此文件中的每一行都视为包含模式。 |
10 |
Excludes 必须排除的文件模式的由逗号或空格分隔的列表。 |
11 |
Excludesfile 文件的名称。此文件中的每一行都视为排除模式。 |
12 |
Defaultexcludes 指示是否应使用默认排除项(是 |
no). |
13 |
Menifest 要使用的清单文件。 |
14 |
Filesetmanifest 在 zipfileset 或 zipgroupfileset 文件中找到清单文件时的行为。有效值包括:跳过、合并和合并而不进行主要处理。合并将把所有清单合并在一起,然后将此合并合并到任何其他指定清单中。合并而不进行主要处理将合并清单中的所有内容,但是不包括主部分。 |
15 |
Whenmanifestonly 当没有文件匹配时的行为。有效值包括:失败、跳过和创建。 |
16 |
Manifestencoding 当指定清单文件时,用于读取 JAR 清单的编码。 |
17 |
Index 是否创建索引列表以加快类加载速度。除非使用嵌套 indexjars 元素指定其他 jar,否则仅包含此 jar 的内容索引。 |
18 |
indexMetaInf 是否将 META-INF 及其子项包含在索引中。如果 index 为 false,则没有任何效果。Oracle 的 jar 实现过去跳过 META-INF 目录,而 Ant 也采用了此示例。此行为已在 Java 5 中更改。为了避免 Java 1.4 或更早版本上 Ant 生成的 jar 出现问题,除非明确要求,否则 Ant 不会包含 META-INF。 |
19 |
Manifestencoding 当指定清单文件时,用于读取 JAR 清单的编码。 |
20 |
Update 如果目标文件已存在,指出是否要更新或覆盖目标文件。 |
21 |
Duplicate 找到重复文件时的行为。有效值包括:添加、保留和失败。 |
22 |
Roundup 是否将文件修改时间向上舍入到下一偶数秒。 |
23 |
Level 执行文件压缩时使用的非默认级别。有效值从 0(无压缩/最快)到 9(最大压缩/最慢)不等。 |
24 |
Preserve0permissions 当更新存档或从其他存档添加条目时,Ant 会假设 UNIX 权限值为 0(任何人都不允许对文件/目录执行任何操作),这意味着权限根本未存储而非实际权限,并将改为应用其自身默认值。 |
25 |
useLanguageEncodingFlag 如果编码为 UTF-8,则指出是否设置语言编码标志。如果编码不是 UTF-8,此设置没有任何效果。 |
26 |
createUnicodeExtraFields 是否创建 Unicode 扩展字段以在条目的元数据中第二次存储文件名。 |
27 |
FallbacktoUTF8 如果无法使用指定编码对文件进行编码,是否使用 UTF-8 和语言编码标志而不是指定编码。 |
28 |
mergeClassPathAttributes 在不同清单中找到 Class-Path 属性时是否合并它们(如果合并清单)。如果为 false,则只保留最后一个合并清单的属性。 |
29 |
flattenAttributes 是否将某个部分中出现的多次属性(仅可能对类路径属性发生)合并到单个属性中。 |
30 |
Apache Ant Tasks - JAR
Properties
Sr.No |
Attributes & Description |
1 |
Destfile 要创建的 JAR 文件。 |
2 |
Basedir 从中打包 JAR 文件的目录。 |
3 |
Compress 不仅存储数据,还会压缩它们。除非将 keepcompression 属性设置为 false,否则这将适用于整个存档,而不仅仅是更新时添加的文件。 |
4 |
Keepcompression 对于源自现有存档的项(如嵌套 zipfileset 或在更新存档时),保持压缩,就像它最初创建时一样,而不使用 compress 属性。 |
5 |
Encoding 用于存档内文件名的字符编码。 |
6 |
Filesonly Store only file entries. |
7 |
Include 必须包括的文件的模式的逗号或空格分隔列表。 |
8 |
Includesfile 一个文件的文件名。该文件的每一行都被视为一个包含模式。 |
9 |
Excludes 必须排除的文件模式的由逗号或空格分隔的列表。 |
10 |
Excludesfile 文件的名称。此文件中的每一行都视为排除模式。 |
11 |
Defaultexcludes 指示是否应使用默认排除项(是 |
no). |
12 |
Menifest 要使用的清单文件。 |
13 |
Filesetmanifest 在 zipfileset 或 zipgroupfileset 文件中找到清单文件时的行为。有效值包括:跳过、合并和合并而不进行主要处理。合并将把所有清单合并在一起,然后将此合并合并到任何其他指定清单中。合并而不进行主要处理将合并清单中的所有内容,但是不包括主部分。 |
14 |
Whenmanifestonly 当没有文件匹配时的行为。有效值包括:失败、跳过和创建。 |
15 |
Manifestencoding 当指定清单文件时,用于读取 JAR 清单的编码。 |
16 |
Index 是否创建索引列表以加快类加载速度。除非使用嵌套 indexjars 元素指定其他 jar,否则仅包含此 jar 的内容索引。 |
17 |
indexMetaInf 是否将 META-INF 及其子项包含在索引中。如果 index 为 false,则没有任何效果。Oracle 的 jar 实现过去跳过 META-INF 目录,而 Ant 也采用了此示例。此行为已在 Java 5 中更改。为了避免 Java 1.4 或更早版本上 Ant 生成的 jar 出现问题,除非明确要求,否则 Ant 不会包含 META-INF。 |
18 |
Manifestencoding 当指定清单文件时,用于读取 JAR 清单的编码。 |
19 |
Update 如果目标文件已存在,指出是否要更新或覆盖目标文件。 |
20 |
Duplicate 找到重复文件时的行为。有效值包括:添加、保留和失败。 |
21 |
Roundup 是否将文件修改时间向上舍入到下一偶数秒。 |
22 |
Level 执行文件压缩时使用的非默认级别。有效值从 0(无压缩/最快)到 9(最大压缩/最慢)不等。 |
23 |
preserve0permissions 在更新存档或添加来自其他存档的条目时,Ant 会假设 Unix 权限值为 0(任何人都不允许对文件/目录执行任何操作)表示尚未存储权限,而不是实际权限,因此会应用它自己的默认值。 |
24 |
*useLanguageEncodingFlag *如果编码为 UTF-8,则设置语言编码标志。如果编码不是 UTF-8,该设置没有任何效果。 |
25 |
createUnicodeExtraFields 是否创建 Unicode 扩展字段以在条目的元数据中第二次存储文件名。 |
26 |
fallbacktoUTF8 如果无法使用指定编码对文件名进行编码,则指出是否使用 UTF-8 和语言编码标志,而不是指定的编码。 |
27 |
mergeClassPathAttributes 在不同清单中找到 Class-Path 属性时是否合并它们(如果合并清单)。如果为 false,则只保留最后一个合并清单的属性。 |
28 |
flattenAttributes 是否将某个部分中出现的多次属性(仅可能对类路径属性发生)合并到单个属性中。 |
29 |