要快速启动并运行 Ant 的二进制发行版,请按照下列步骤操作:
JAVA_HOME
为您的 Java 环境、ANT_HOME
将 Ant 解压缩到的目录,并将${ANT_HOME}/bin
(Unix) 或%ANT_HOME%/bin
(Windows) 添加到您的PATH
. 有关详细信息,请参阅设置。ANT_HOME
运行目录ant -f fetch.xml -Ddest=system
中获取大多数需要它们的 Ant 任务的库依赖项。如果您不这样做,许多依赖的 Ant 任务将不可用。有关参数的详细信息和其他选项,请参阅可选任务-Ddest
。请注意,如果您需要的话,上面列表中的链接将提供有关每个步骤的更多详细信息。或者您可以继续阅读本文档的其余部分。
使用 Ant 源代码的简短故事(如果您使用二进制发行版则不需要)是:
欲了解完整故事,请继续阅读。
Ant 的最新稳定版本可从 Ant 网页http://ant.apache.org/获取
Ant 的二进制发行版有 3 种不同的存档形式
选择最适合您的平台支持的格式。
请参阅下面的jpackage部分。
所有主要的 Java IDE 都附带 Ant、Eclipse、NetBeans 和 IntelliJ IDEA 等产品。如果您以这种方式安装 Ant,您通常会在 IDE 发布时获得最新版本的 Ant。一些 IDE(特别是 Eclipse 和 NetBeans)附带了额外的任务,这些任务仅当 IDE 特定的工具位于 Ant 的路径上时才起作用。要在 Ant 的命令行版本上使用它们,需要将相关 JAR 作为额外的库/任务添加到命令行 Ant。请注意,如果 IDE 任务或扩展没有运行,Ant 团队将无法提交错误报告。首先尝试 IDE 邮件列表,如果合适的话,他们会交叉提交错误。
IDE 总是可以指向不同的 Ant 安装。这使得开发人员可以升级到新版本的 Ant,并消除命令行和 IDE Ant 之间的不一致。
许多 Java 应用程序,尤其是应用程序服务器,都附带有一个 Ant 版本。这些主要供应用程序内部使用,使用 Java API 将诸如 JSP 页面编译之类的任务委托给 Ant 运行时。这样的发行版通常不会得到所有人的支持。特别麻烦的是那些产品不仅附带自己的 Ant 版本,而且还将自己的 ANT.BAT 或 ant.sh 版本添加到PATH
. 如果 Ant 在安装某些内容后开始表现异常,请尝试诊断建议。
如果您更喜欢源代码分发版,可以从 http://ant.apache.org/srcdownload.cgi下载最新 Ant 版本的源代码。
如果您喜欢前沿代码,您可以通过 Git 访问正在开发的代码。Ant 网站提供了有关访问 Git 的详细信息。所有错误修复都将针对源代码树的 HEAD,并且对许多 bugreps 的第一个响应将是“您是否尝试过最新版本”。不要害怕下载并构建预发行版,因为除了新功能之外的所有内容通常都是稳定的。
请参阅构建 Ant 部分,了解如何从源代码构建 Ant。您还可以在线 访问Ant Git 存储库。
旧版本的 Ant 可以在http://archive.apache.org/dist/ant/ 的档案中找到。文件的组织方式如下。
文件名或路径 | 描述 |
---|---|
KEYS | PGP 密钥文件。它包含 Ant 开发人员的 PGP 密钥,因此您可以“信任”该发行版。 |
RELEASE-NOTES-{version}.html | HTML 格式的给定版本的发行说明。升级 Ant 安装时,您应该查看可能破坏旧环境的更改部分。 |
ant-current-bin.zip | ZIP 存档包含最新发布版本中 Ant 的编译版本。建议您不要以这种方式下载最新版本,因为上述标准下载方式会将您重定向到离您较近的镜像,从而使下载速度更快并减少 Apache 服务器的负载。 |
ant-current-src.zip | 包含 Ant 源代码的 ZIP 存档。如果你有这个你就可以编译 Ant。如果您没有 所需的依赖项,则不会构建依赖于它们的类。再次强调,最好使用上述标准方式获取源包,这样可以加快下载速度并减少 Apache 服务器的负载。 |
ant-current-*.asc | 用于检查 zip 文件正确性的安全文件。这就是 PGP签名。 |
ant-current-*.md5 | 用于检查 zip 文件正确性的安全文件。这就是 MD5校验和。 |
ant-current-*.sha1 | 用于检查 zip 文件正确性的安全文件。这是 SHA1校验和。 |
antlibs/ | 该目录包含 Apache Ant 项目可用的 Antlib。Antlib 是 Ant 任务的捆绑包,它们不作为 Ant 核心的一部分提供,但可以作为可选下载提供。 |
binaries/ | 二进制文件目录包含以 ZIP 和 tar.gz 存档格式捆绑的特定 Ant 版本。指定的版本与父目录中的 ant-current-bin.zip 文件形成对比,后者始终保证是 Ant 的最新版本。 |
common/ | 公共目录包含各种文件,例如 Ant 获得许可的 Apache 许可证文件,人们可能希望检查这些文件,而无需下载整个 Ant 发行版。 |
source/ | 源目录包含以 ZIP 和 tar.gz 存档格式捆绑的特定 Ant 版本的源代码。指定的版本与父目录中的 ant-current-src.zip 文件形成对比,后者始终保证保存最新版本的 Ant 源代码。 |
Ant 已在许多平台上成功使用,包括 Linux、商业版本的 Unix(如 Solaris 和 HP-UX)、macOS、Windows NT 后代、OS/2 Warp、Novell Netware 6、OpenVMS。最常用于开发的平台(排名不分先后)是 Linux、macOS、Microsoft Windows 和 Unix;因此,这些平台往往效果最好。从 Ant 1.7 开始,不再支持 Windows 9x。
对于当前版本的 Ant (1.9),您还需要在系统上安装 JDK,需要 1.5 或更高版本。Java 版本越新,您获得的 Ant 任务就越多。
注意:如果不存在 JDK,只有运行时 (JRE),则许多任务将无法工作。
注意: Ant 1.8.* 适用于 JDK 1.4 及更高版本,Ant 1.7.* 适用于 JDK 1.3 及更高版本,Ant 1.6.* 适用于 JDK 1.2 及更高版本,Ant 1.2 至 Ant 1.5.* 适用于 JDK 1.1 及更高版本。
Ant 团队大力支持在OpenJDK和其他开源 Java 运行时上运行 Ant 的用户,因此努力拥有一款在这些平台上运行良好的产品。
Ant 的二进制发行版由以下目录布局组成:
ant +--- README, LICENSE, fetch.xml, other text files. //basic information +--- bin // contains launcher scripts | +--- lib // contains Ant JARs plus necessary dependencies | +--- manual // Ant documentation (a must read ;-) | +--- etc // contains xsl goodies to: // - create an enhanced report from xml output of various tasks. // - migrate your build files and get rid of 'deprecated' warning // - ... and more ;-)
运行 Ant
只需要bin
和目录。lib
要安装 Ant,请选择一个目录并将分发文件复制到那里。该目录将被称为
ANT_HOME
.
Windows 95、Windows 98 和 Windows ME 注意: | |
请注意,当前版本的 Ant 不再支持这些系统。但是,如果您使用的是较旧版本的 Ant,则用于启动 Ant 的脚本如果ANT_HOME 文件名较长(即文件名不是“8.3”格式),则会出现问题。这是由于操作系统处理"for" 批处理文件语句的限制。因此,建议将 Ant 安装在
较短的8.3 路径中,例如C:\Ant .
|
|
在这些系统上,您还需要配置更多环境空间以满足 Ant 启动脚本中使用的环境变量。为此,您需要在文件中添加或更新以下
|
在运行 Ant 之前,您需要执行一些额外的设置,除非您 从 jpackage.org 安装 RPM 版本:
bin
目录添加到您的路径中。ANT_HOME
环境变量设置为安装 Ant 的目录。在某些操作系统上,Ant 的启动脚本可以猜测ANT_HOME
(Unix 方言和 Windows NT 后代),但最好不要依赖此行为。JAVA_HOME
环境变量(请参阅下面的高级部分)。应将其设置为安装 JDK 的目录。从命令行执行此操作的操作系统特定说明位于Windows、 Linux/Unix (bash)和Linux/Unix (csh)部分。请注意,使用此方法时,这些设置仅对您运行它们的命令行会话有效。
注意:不要将Ant的ant.jar
文件安装到lib/ext
JDK/JRE的目录中。Ant 是一个应用程序,而扩展目录用于 JDK 扩展。特别是对可以由扩展加载的类存在安全限制。
Windows 注意: | |
该ant.bat 脚本使用三个环境变量 - ANT_HOME 、
CLASSPATH 和JAVA_HOME 。确保设置了ANT_HOME 和
JAVA_HOME 变量,并且它们没有引号(' 或 ")并且它们不以\ 或 / 结尾。CLASSPATH 应该未设置或为空。
|
您可以通过打开新 shell 并键入 来检查基本安装ant
。您应该收到这样的消息
Buildfile: build.xml does not exist! Build failed
这样 Ant就可以工作了。出现此消息是因为您需要为您的项目编写构建文件。使用 aant
-version
你应该得到类似的输出
Apache Ant(TM) version 1.9.2 compiled on July 8 2013
如果这不起作用,请确保您的环境变量设置正确。例如,在 Windows 上,他们必须解决:
%ANT_HOME%\bin\ant.bat
%JAVA_HOME%\bin\java.exe
%PATH%=...maybe-other-entries...;%ANT_HOME%\bin;...maybe-other-entries...
启动器脚本使用
ANT_HOME来查找库。启动程序使用JAVA_HOME来查找要使用的 JDK/JRE。(建议使用 JDK,因为某些任务需要 Java 工具。)如果未设置,启动程序会尝试通过环境变量查找%PATH%
。
设置PATH是为了方便用户。有了这个设置,你就可以启动ant而不必总是输入
/complete/path/to/your/ant/installation/bin/ant。
Ant 支持许多可选任务。可选任务是通常需要外部库才能运行的任务。可选任务与核心 Ant 任务打包在一起。
每个可选任务所需的外部库在“库依赖关系”部分中详细介绍。必须通过以下任一方式将这些外部库添加到 Ant 的类路径中:
在ANT_HOME/lib
. 这使得 JAR 文件可供所有 Ant 用户和构建使用。
在${user.home}/.ant/lib
(从 Ant 1.6 开始)。这允许不同的用户向 Ant 添加新的库。添加到此目录的所有 JAR 文件均可用于命令行 Ant。
在命令行上带有-lib
参数。这使您可以根据具体情况添加新的 JAR 文件。
在CLASSPATH
环境变量中。避免这种情况;它使 JAR 文件对所有Java 应用程序可见,并导致支持呼叫不断。详情请
参阅下文。
在一些<classpath>
任务本身接受的情况下。例如,从 Ant 1.7.0 开始,您可以在<junit>
没有junit.jar
Ant 自己的类路径的情况下运行任务,只要它包含在运行任务时传递的类路径中(与您的程序和测试一起)即可。
在可能的情况下,通常首选此选项,因为 Ant 脚本本身可以确定加载库的最佳路径: 根据 Ant 的说法,通过 basedir 的相对路径(如果您将库置于项目的版本控制之下)属性、环境变量、ivy 下载,无论你喜欢什么。
如果您使用 Ant 的二进制发行版,或者如果您使用源代码,则可以轻松收集大部分依赖项并安装它们以用于 Ant 任务。在您的ANT_HOME
目录中,您应该会看到一个名为fetch.xml
. 这是一个 Ant 脚本,您可以运行它来安装可选 Ant 任务所需的几乎所有依赖项。
为此,请更改到ANT_HOME
目录并执行命令:
ant -f fetch.xml -Ddest=[option]
其中 option 是以下选项之一,如上所述:
system
- 存储在Ant的lib目录中(推荐)user
- 存储在用户的主目录中optional
- 存储在Ant的源代码lib/optional
目录中,构建Ant源代码时使用您可能还需要设置代理设置。有关详细信息,请参阅代理设置部分。
请注意,并非所有依赖项都是使用 收集的fetch.xml
。特别是依赖商业软件的任务将要求您安装商业软件才能使用。
Apache Ant 项目还提供了其他任务和类型,可以单独下载 Ant 库。您可以在Ant 库页面查看可用 Antlib 的列表。
您还可以在外部工具和任务页面 找到第三方项目提供的任务和类型。
IDE 有不同的方式将外部 JAR 文件和第三方任务添加到 Ant。通常它是通过一些配置对话框来完成的。有时,添加到项目中的 JAR 文件会自动添加到 Ant 的类路径中。
CLASSPATH
变量
环境CLASSPATH
变量是许多 Ant 支持查询的来源。由于 Ant 用户邮件列表上的诊断往返时间可能很慢,并且由于提交抱怨“ant.bat”不起作用的错误报告将被开发人员拒绝,因为 WORKSFORME“这是配置问题,而不是错误” ,通过执行一些简单的步骤,您可以节省大量时间并减少挫败感。
CLASSPATH
。Ant 不需要它,它只会造成混乱并破坏事物。CLASSPATH
,即使目录中有空格。这会破坏Ant,而且没有必要。CLASSPATH
,因为它会破坏 Ant 引用字符串的能力。CLASSPATH
同样,即使要将 DOS 目录添加到路径中,也不需要环境变量的正确操作。CLASSPATH
设置选项来使用环境变量停止 Ant 。-noclasspath
这是测试类路径相关问题的简单方法。
问题的常见症状CLASSPATH
是 ant 不会运行,并出现一些有关无法找到 的错误org.apache.tools.ant.launch.Launcher
,或者,如果引号/反斜杠错误,则会出现一些非常奇怪的 Java 启动错误。要查看是否是这种情况,请运行ant -noclasspath
或取消设置CLASSPATH
环境变量。
您还可以通过将以下内容放置在脚本顶部(或 init 目标中)来使 Ant 脚本拒绝此环境变量:
<property environment="env."/> <property name="env.CLASSPATH" value=""/> <fail message="Unset $CLASSPATH / %CLASSPATH% before running Ant!"> <condition> <not> <equals arg1="${env.CLASSPATH}" arg2=""/> </not> </condition> </fail>
许多 Ant 内置任务和第三方任务使用网络连接从 HTTP 服务器检索文件。如果您位于带有代理服务器的防火墙后面,则需要使用代理配置 Ant。以下是执行此操作的不同方法。
当您在 Java 5 或更高版本上运行 Ant 时,您可以尝试使用自动代理设置机制-autoproxy
。
这些记录在Java 的 Networking Properties中,并控制整个 JVM 的代理行为。要在 Ant 中设置它们,请在ANT_OPTS
环境变量中声明它们。这是非移动系统的最佳选择。对于笔记本电脑,您必须在漫游时更改这些设置。设置ANT_OPTS
:
对于 csh/tcsh:
setenv ANT_OPTS "-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"对于bash:
export ANT_OPTS="-Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080"对于 Windows,在相应的对话框中设置环境变量并打开一个新控制台,或者手动设置
set ANT_OPTS = -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080
如果您正在编写始终在防火墙后面使用的构建文件,则setproxy任务可以让您配置代理(它通过设置 JVM 属性来实现)。如果您这样做,我们强烈建议使用 ant 属性来定义代理主机、端口等,以便个人可以覆盖默认值。
Ant团队承认这并不令人满意。在 JVM 自动代理设置在任何地方都能正常工作之前,显式 JVM 选项ANT_ARGS
可能是最好的解决方案。在 Ant 命令行上设置属性不起作用,因为这些是正在设置的Ant 属性,而不是 JVM 选项。这意味着以下内容不会设置命令行:
ant -Dhttp.proxyHost=proxy -Dhttp.proxyPort=81
它所做的只是设置两个 Ant 属性。
代理的另一个麻烦点是验证代理。Ant 无法超越 JVM 在这里所做的事情,并且由于远程诊断、测试和修复与代理相关的问题非常困难,因此在安全代理后面工作的用户将不得不花费大量时间配置 JVM 属性,直到他们满意为止。
假设 Ant 安装在c:\ant\
. 环境搭建如下:
set ANT_HOME=c:\ant set JAVA_HOME=c:\jdk1.7.0_51 set PATH=%PATH%;%ANT_HOME%\bin
假设 Ant 安装在/usr/local/ant
. 环境搭建如下:
export ANT_HOME=/usr/local/ant export JAVA_HOME=/usr/local/jdk1.7.0_51 export PATH=${PATH}:${ANT_HOME}/bin
setenv ANT_HOME /usr/local/ant setenv JAVA_HOME /usr/local/jdk/jdk1.7.0_51 set path=( $path $ANT_HOME/bin )
设置指向 JVM/JDK 版本的符号链接可以使更新更加无缝。
JPackage项目分发 Ant 的 RPM 版本。在此版本中,无需设置 JAVA_HOME
环境ANT_HOME
变量,RPM 安装程序会将 Ant 可执行文件正确放置在您的路径上。
注意: 从 Ant 1.7.0 开始,如果ANT_HOME
设置了环境变量,JPackage 分发将被忽略。
JPackage 版本的可选 JAR 有两种处理方式。最简单、最好的方法是从 JPackage 获取这些外部库(如果 JPackage 有可用的话)。(注意:对于每个这样的库,您必须获取外部包本身(例如oro-2.0.8-2jpp.noarch.rpm
)以及链接 Ant 和外部包的小库(例如ant-apache-oro-1.6.2-3jpp.noarch.rpm
)。
然而,JPackage 不打包专有软件,并且由于某些可选包依赖于专有 JAR,因此必须按如下方式处理它们。这可能违反了 JPackage 的精神,但如果您需要这些专有包,这是必要的。例如,假设您要安装对 NetRexx 的支持,而 JPackage 不支持:
$ANT_HOME/lib
,对于 JPackage 通常是/usr/share/ant/lib
。另一个不太混乱的选择是创建.ant/lib
主目录的子目录并将非 JPackage Ant JAR 放置在那里,从而避免将 JPackage 库与非 JPackage 内容混合在同一文件夹中。有关 Ant 在哪里找到其库的更多信息,请参阅此处ant-jai.jar
到您在上面步骤 1 中选择的库目录中。--noconfig
命令行开关来避免 JPackage 的类路径机制。
运行 Ant 有多种不同的方法。您至少需要以下内容:
ant.jar
您选择的符合 JAXP 的 XML 解析器所需的任何 JAR/类。tools.jar
必须添加。
如果设置了环境变量,目录中 Ant 提供的脚本bin
将自动添加所需的 JDK 类。JAVA_HOME
ant.home
设置为包含 Ant 安装位置的目录。同样,这由 Ant 脚本设置为环境变量的值ANT_HOME
。ANT_OPTS
环境变量,该变量可用于向 Ant 提供额外的选项。某些脚本还会读取存储在用户主目录中的额外脚本,该脚本可用于设置此类选项。有关详细信息,请查看您平台的调用脚本的源代码。
要从源代码构建 Ant,您可以安装 Ant 源代码发行版或从 Git 克隆 Ant 存储库。有关详细信息, 请参阅 源分发。
安装源后,切换到安装目录。
将JAVA_HOME
环境变量设置为JDK的安装目录。有关如何为您的操作系统执行此操作的示例,
请参阅安装 Ant 。
注意:Ant 的引导过程需要像 OpenJDK 或 Oracle 的 javac 这样的贪婪编译器。它不适用于 gcj 或 kjc。
确保您已经下载了构建您感兴趣的任务所需的任何辅助 JAR。这些应该添加到lib/optional
源代码树的目录中。
有关各种功能的 JAR 要求列表,请参阅库依赖项。请注意,这将使辅助 JAR 仅可用于 Ant 的构建。为了运行 Ant,您仍然需要使 JAR 可用,如安装 Ant中所述。
您还可以通过在构建文件上运行 Ant 来获取大部分辅助 JAR 文件(即各种可选 Ant 任务所依赖的 JAR 文件)fetch.xml
。有关如何执行此操作的说明,
请参阅可选任务。
从版本 1.7.0 开始,Ant 就对 JUnit 产生了硬依赖。构建fetch.xml
脚本将自动下载 JUnit,但如果您不使用它,则必须手动将其安装到lib/optional
(从JUnit.org下载)(如果您使用的是 Ant 的源发行版)。
现在您已准备好构建 Ant:
build -Ddist.dir=<directory_to_contain_Ant_distribution> dist
(Windows)
sh build.sh -Ddist.dir=<directory_to_contain_Ant_distribution> dist
(Unix)
这将在您指定的目录中创建 Ant 的二进制发行版。
上述操作执行以下操作:
build.xml
。ant.jar
和ant-launcher.jar
JAR 文件lib/optional
,则不会创建匹配的 ant-library JAR 文件。例如,仅当目录中ant-junit.jar
有 a 时才构建
。junit.jar
lib/optional
在大多数情况下,您不需要显式引导 Ant,因为构建脚本会为您完成此操作。但是,如果您正在使用的构建文件使用了尚未编译到引导 Ant 中的功能,则您将需要手动引导。运行bootstrap.bat
(Windows) 或bootstrap.sh
(UNIX) 以构建新的 Ant 引导程序版本。
ANT_HOME
目录中,可以使用:
如果需要,您可以通过以下方式避免冗长的 Javadoc 步骤:
build install
(Windows)
sh build.sh install
(Unix)
这只会安装
build install-lite
(Windows)
sh build.sh install-lite
(Unix)
bin
和lib
目录。
install
和目标
都install-lite
将覆盖ANT_HOME
.
Ant 的构建脚本将尝试在类 Unix 系统上为其 shell 脚本设置可执行标志。chmod任务可能失败的原因有多种(例如,当您以与最初安装 Ant 的用户不同的用户身份运行构建脚本时)。chmod.fail
在这种情况下,您可以在启动构建时
将 Ant 属性设置为 false,如下所示
sh build.sh install -Dchmod.fail=false
任何更改权限的错误都不会导致构建失败。
如果您使用指定的功能,Ant 的类路径中需要以下库。请注意,与映射器一起使用只需要其中一个 regexp 库(Java 包含一个 Ant 会自动找到的 regexp 实现)。您还需要安装包含任务定义的特定 Ant 可选 JAR,以使这些任务可用。请参阅上面的安装 Ant/可选任务部分。
JAR Name | 需要用于 | 可用于 |
jakarta-regexp-1.4.jar | 带有映射器的正则表达式类型(如果您不想使用 java.util.regex) | https://attic.apache.org/projects/jakarta-regexp.html |
jakarta-oro-2.0.8.jar | 带有映射器的regexp类型(如果您不想使用 java.util.regex)或带有commons-net 1.4.1的 ftp任务 | https://attic.apache.org/projects/jakarta-oro.html |
junit.jar | junit任务(可能位于传递给任务的类路径中,而不是 Ant 的类路径中) | http://junit.org/ |
xalan.jar | JunitReport任务 | https://xml.apache.org/xalan-j/ |
antlr.jar | 反任务 | http://www.antlr.org/ |
bsf.jar | 脚本任务 注意:Ant 1.6 及更高版本需要 Apache BSF 2.3.0 或更高版本。 注意:使用 1.5R4 或更高版本的 Rhino JavaScript 需要 BSF 2.4.0。 注意:BSF 2.4.0 使用 Commons Logging,因此需要 commons-logging.jar。 |
https://commons.apache.org/bsf/ |
Groovy JARs | 具有绑定的 Groovy Ant 任务或具有script 和scriptdef任务的 Groovy |
http://groovy-lang.org/ 使用 groovy-ant 执行具有绑定的 Groovy Ant 任务,或使用 groovy-bsf 执行具有 script 和 scriptdef 任务的 Groovy(或 groovy-all) |
netrexx.jar | netrexxc任务、带有脚本任务的Rexx | https://www.ibm.com/software/awdtools/netrexx/library.html |
rhino.jar (included in Java 7 runtime, replaced by Nashorn in Java 8 and later) |
带脚本任务的JavaScript 注意: Apache BSF 2.4.0 仅适用于 Rhino 1.5R4 及更高版本。 |
https://www.mozilla.org/rhino/ |
jython.jar | Python 与脚本任务 | http://www.jython.org/ |
jacl.jar and tcljava.jar | TCL 与脚本任务 | http://tcljava.sourceforge.net/ |
jtcl.jar | TCL 与脚本任务 | https://jtcl-project.github.io/jtcl/ |
BeanShell JAR(s) | 带有脚本任务的 BeanShell 。 注意:Ant 需要 BeanShell 版本 1.3 或更高版本 |
http://www.beanshell.org/ |
jruby.jar | 带有脚本任务的 Ruby | http://jruby.org/ |
judo.jar | 带脚本任务的柔道语言 | http://www.judoscript.org/ |
commons-logging.jar | CommonsLoggingListener | https://commons.apache.org/logging/ |
log4j.jar | Log4j监听器 | https://logging.apache.org/log4j/ |
commons-net.jar | ftp、rexec
和telnet任务 编译 Ant 需要最低版本为 1.4.0 的 commons-net,早期版本不支持全部配置选项。 运行时需要 jakarta-oro 2.0.8 和 commons-net 1.4.x。 注意:由于性能问题,不要使用 commons-net 3.2 |
https://commons.apache.org/net/ |
bcel.jar | classfileset数据类型,ClassConstants 过滤器读取器使用的 JavaClassHelper,并且ejbjar任务可以选择使用它来确定依赖性 | https://commons.apache.org/bcel/ |
javax.mail.jar | 邮件任务和已弃用的 mimemail任务 | https://javaee.github.io/javamail/ |
activation.jar (included in Java 6 to Java 10 but the java.activation module is deprecated and marked
for removal in Java 9 and needs to be enabled explicitly on Java
10) |
使用 MIME 编码的邮件任务,以及已弃用的 mimemail任务 | https://github.com/javaee/activation |
jdepend.jar | jdepend任务 | https://github.com/clarkware/jdepend |
resolver.jar 1.1 or later | 仅当需要支持外部目录文件时才使用xmlcatalog数据类型 | https://xerces.apache.org/xml-commons/components/resolver/ |
jsch.jar 0.1.55 or later | sshexec和scp任务 | http://www.jcraft.com/jsch/ |
JAI - Java Advanced Imaging | 图像任务 | https://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html |
Ant 具有内置的诊断功能。如果运行ant -diagnostics
ant,它将查看其内部状态并将其打印出来。这段代码将检查并打印以下内容。
ANT_HOME/lib
运行ant -diagnostics
是检查 Ant 是否已安装的好方法。这也是对任何问题进行自我诊断的第一步。向用户邮件列表报告的任何配置问题都可能会导致有人要求您运行命令并显示结果,因此您自己使用它可以节省时间。
对于 IDE 内的诊断,请使用诊断任务来运行与 Ant 选项相同的测试。可以将其添加到构建文件中的诊断目标,以查看 IDE 下可用的任务、XML 解析器和类路径是什么等。
如果您无法安装或运行 Ant,Ant 用户邮件列表是解决任何问题的最佳位置。请先做好功课,确保这不是CLASSPATH
问题,然后运行诊断检查以查看 Ant 对自身状态的看法。为什么是用户列表,而不是开发者列表?因为用户比开发者多,所以可以帮助你的人也更多。
如果 Ant 中确实存在与配置相关的可修复错误,例如它无法在特定平台、特定 JVM 版本等上运行,或者如果您收到建议,请仅针对配置/启动问题针对 Ant 提交错误报告通过用户邮件列表来完成此操作。