要快速使用 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 网页 https://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 开始表现异常,请尝试 诊断 建议。
如果您更喜欢源代码发行版,您可以从 https://ant.apache.org/srcdownload.cgi 下载最新 Ant 版本的源代码。
如果您更喜欢最前沿的代码,您可以通过 Git 访问正在开发的代码。Ant 网站提供了有关 访问 Git 的详细信息。所有错误修复都将针对源代码树的 HEAD 进行,对许多错误报告的第一个回复将是“您是否尝试过最新版本”。不要害怕下载和构建预发布发行版,因为除了新功能之外,其他所有内容通常都是稳定的。
有关如何从源代码构建 Ant,请参阅 构建 Ant 部分。您也可以在线访问 Ant Git 存储库。
Ant 的旧版本可在 https://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 | ZIP 存档,包含 Ant 的源代码。如果您有此存档,您可以编译 Ant。如果您没有必需的依赖项,则依赖它们的类将不会被构建。同样,建议使用上面描述的获取源代码包的标准方式,以加快您的下载速度并减少对 Apache 服务器的负载。 |
ant-current-*.asc | 用于检查 zip 文件正确性的安全文件。这是一个 PGP 签名。 |
ant-current-*.md5 | 用于检查 zip 文件正确性的安全文件。这是一个 MD5 校验和。 |
ant-current-*.sha1 | 用于检查 zip 文件正确性的安全文件。这是一个 SHA1 校验和。 |
ant-current-*.sha512 | 用于检查 zip 文件正确性的安全文件。这是一个 SHA512 校验和。 |
antlibs/ | 此目录包含 Apache Ant 项目提供的 Antlibs。Antlibs 是 Ant 任务的捆绑包,这些任务不是作为 Ant 核心的一部分交付的,而是作为可选下载提供的。 |
binaries/ | binaries 目录包含以 ZIP 和 tar.gz 存档格式捆绑的特定 Ant 版本。与父目录中的 ant-current-bin.zip 文件相比,命名版本始终保证是 Ant 的最新版本。 |
common/ | common 目录包含各种文件,例如 Ant 许可的 Apache 许可证文件,人们可能希望在不下载整个 Ant 发行版的情况下查看这些文件。 |
source/ | source 目录包含以 ZIP 和 tar.gz 存档格式捆绑的特定 Ant 版本的源代码。与父目录中的 ant-current-src.zip 文件相比,命名版本始终保证包含 Ant 最新版本的源代码。 |
Ant 已成功在许多平台上使用,包括 Linux、Solaris 和 HP-UX 等商业 Unix 版本、macOS、Windows NT 后代、OS/2 Warp、Novell Netware 6、OpenVMS。用于开发的最常见的平台是(无特定顺序)Linux、macOS、Microsoft Windows 和 Unix;因此,这些平台往往最有效。从 Ant 1.7 开始,不再支持 Windows 9x。
对于当前版本的 Ant(1.10),您还需要在系统上安装 JDK,需要版本 8 或更高版本。Java 版本越新,您获得的 Ant 任务就越多。
注意:如果不存在 JDK,只有运行时 (JRE),那么许多任务将无法正常工作。
注意:Ant 1.10.* 与 JDK 8 及更高版本一起使用,Ant 1.9.* 与 JDK 1.5 及更高版本一起使用,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 ;-)
仅 bin 和 lib 目录是运行 Ant 所必需的。
要安装 Ant,请选择一个目录并将发行版文件复制到该目录。此目录将被称为 ANT_HOME
。
请注意,Ant 的当前版本不再支持这些系统。但是,如果您使用的是旧版本的 Ant,则用于启动 Ant 的脚本在 ANT_HOME
是长文件名(即不是“8.3”格式的文件名)时会出现问题。这是由于操作系统处理 "for"
批处理文件语句的限制。因此,建议将 Ant 安装在短的 8.3 路径中,例如 C:\Ant。
在这些系统上,您还需要配置更多环境空间来容纳 Ant 启动脚本中使用的环境变量。为此,您需要在 config.sys 文件中添加或更新以下行
shell=c:\command.com c:\ /p /e:32768
在运行 Ant 之前,您需要进行一些额外的设置,除非您安装的是 jpackage.org 上的 RPM 版本
ANT_HOME
环境变量设置为安装 Ant 的目录。在某些操作系统上,Ant 的启动脚本可以猜测 ANT_HOME
(Unix 方言和 Windows NT 后代),但最好不要依赖这种行为。JAVA_HOME
环境变量(请参阅下面的 高级 部分)。这应该设置为安装 JDK 的目录。从命令行执行此操作的操作系统特定说明位于 Windows、Linux/Unix (bash) 和 Linux/Unix (csh) 部分。请注意,使用这种方法,设置仅对您运行它们的命令行会话有效。
注意:不要将 Ant 的 ant.jar 文件安装到 JDK/JRE 的 lib/ext 目录中。Ant 是一个应用程序,而扩展目录用于 JDK 扩展。特别是,对扩展可能加载的类存在安全限制。
ant.bat 脚本使用三个环境变量——ANT_HOME
、CLASSPATH
和 JAVA_HOME
。确保ANT_HOME
和 JAVA_HOME
变量已设置,并且它们不包含引号(' 或 "),并且它们不以 \ 或 / 结尾。CLASSPATH
应该未设置或为空。
您可以通过打开一个新的 shell 并输入 ant 来检查基本安装。您应该会收到类似这样的消息
Buildfile: build.xml does not exist! Build failed
因此 Ant 正常工作。此消息存在是因为您需要为您的项目编写一个构建文件。使用 ant -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%=...可能还有其他条目...;%ANT_HOME%\bin;...可能还有其他条目...
ANT_HOME
由启动脚本用于查找库。JAVA_HOME
由启动程序用于查找要使用的 JDK/JRE。(建议使用 JDK,因为某些任务需要 Java 工具。)如果未设置,启动程序会尝试通过 %PATH%
环境变量查找一个。PATH
用于用户方便。设置了它,您就可以直接启动 ant,而无需始终键入 the/complete/path/to/your/ant/installation/bin/ant。
Ant 支持许多可选任务。可选任务是通常需要外部库才能正常工作的任务。可选任务与核心 Ant 任务一起打包。
每个可选任务所需的外部库在 库依赖项 部分中详细说明。这些外部库必须添加到 Ant 的类路径中,可以通过以下任何一种方式添加
在 ANT_HOME/lib
中。这使得所有 Ant 用户和构建都可以使用 JAR 文件。
在 ${user.home}/.ant/lib
中(从 Ant 1.6 开始)。这允许不同的用户向 Ant 添加新的库。添加到此目录的所有 JAR 文件都可供命令行 Ant 使用。
在命令行中使用 -lib 参数。这使您能够在逐个案例的基础上添加新的 JAR 文件。
在 CLASSPATH
环境变量中。避免使用此方法;它使 JAR 文件对所有 Java 应用程序可见,并会导致无数的支持电话。有关详细信息,请参见 下面。
在任务本身接受的某些 <classpath>
中。从 Ant 1.7.0 开始,您可以运行 <junit>
任务,而无需在 Ant 自己的类路径中包含 junit.jar,只要它包含在运行任务时传递的类路径中(以及您的程序和测试)。
在可能的情况下,通常首选此选项,因为 Ant 脚本本身可以确定从哪里加载库的最佳路径:通过相对于基目录的相对路径(如果您将库与您的项目一起进行版本控制),根据 Ant 属性、环境变量、Ivy 下载,任何您喜欢的路径。
如果您使用的是 Ant 的二进制发行版,或者如果您正在从源代码工作,您可以轻松地收集大多数依赖项并安装它们以供您的 Ant 任务使用。在您的 ANT_HOME
目录中,您应该看到一个名为 fetch.xml 的文件。这是一个 Ant 脚本,您可以运行它来安装几乎所有可选 Ant 任务所需的依赖项。
为此,请更改到 ANT_HOME
目录并执行以下命令
ant -f fetch.xml -Ddest=[option]
其中选项是以下之一,如上所述
system
—存储在 Ant 的 lib 目录中(推荐)user
—存储在用户的 home 目录中optional
—存储在 Ant 的源代码 lib/optional 目录中,用于构建 Ant 源代码您可能还需要设置代理设置。有关详细信息,请参见 代理设置 部分。
请注意,并非所有依赖项都是使用 fetch.xml 收集的。特别是依赖于商业软件的任务需要您安装商业软件才能使用。
Apache Ant 项目还提供其他任务和类型,这些任务和类型可以作为单独下载的 Ant 库使用。您可以在 Ant 库 页面上查看可用 Ant 库的列表。
您还可以在 外部工具和任务 页面上找到第三方项目提供的任务和类型。
IDE 有不同的方法将外部 JAR 文件和第三方任务添加到 Ant。通常,这是通过一些配置对话框完成的。有时,添加到项目的 JAR 文件会自动添加到 Ant 的类路径中。
CLASSPATH
环境变量CLASSPATH
环境变量是许多 Ant 支持查询的来源。由于 Ant 用户邮件列表的诊断往返时间可能很慢,并且因为提交有关“ant.bat”无法正常工作的错误报告会被开发人员拒绝,因为 WORKSFORME“这是一个配置问题,而不是错误”,您可以通过遵循一些简单的步骤来节省大量时间和精力。
CLASSPATH
。Ant 不需要它,它只会造成混乱并破坏事物。CLASSPATH
中使用引号,即使目录中存在空格。这会破坏 Ant,并且不需要。CLASSPATH
中使用尾部反斜杠,因为它会破坏 Ant 引用字符串的能力。同样,即使要将 DOS 目录添加到路径中,这对于 CLASSPATH
环境变量的正确操作也是不需要的。CLASSPATH
环境变量。这是一种测试与类路径相关问题的简单方法。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 的网络属性 中有记录,并控制整个 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 自动代理设置在所有地方都能正常工作之前,通过 ANT_ARGS
使用显式 JVM 选项可能是最好的解决方案。在 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:\jdk11.0.8_10 set PATH=%PATH%;%ANT_HOME%\bin
假设 Ant 安装在 /usr/local/ant 中。以下设置了环境
export ANT_HOME=/usr/local/ant export JAVA_HOME=/usr/local/jdk-11.0.8+10 export PATH=${PATH}:${ANT_HOME}/bin
setenv ANT_HOME /usr/local/ant setenv JAVA_HOME=/usr/local/jdk-11.0.8+10 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。另一个不太混乱的选项是创建 home 目录的 .ant/lib 子目录并将您的非 JPackage Ant JAR 放置在那里,从而避免在同一个文件夹中将 JPackage 库与非 JPackage 库混合在一起。有关 Ant 在哪里查找其库的更多信息,请参见 此处运行 Ant 的方法有很多。您至少需要以下内容
JAVA_HOME
环境变量,Ant 的 bin 目录中提供的脚本会自动添加所需的 JDK 类。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 中所述。
您还可以通过在 fetch.xml 构建文件上运行 Ant 来获取大多数辅助 JAR 文件(即各种可选 Ant 任务依赖的 JAR 文件)。有关如何执行此操作的说明,请参阅 可选任务。
从 Ant 1.7.0 开始,Ant 对 JUnit 有硬依赖。 fetch.xml 构建脚本将自动下载 JUnit,但如果您不使用它,则必须将其手动安装到 lib/optional 中(从 JUnit.org 下载),如果您使用的是 Ant 的源代码分发版。
您现在可以构建 Ant 了
强烈建议您在以下命令中传递给 dist.dir 的目录路径指向一个空目录build -Ddist.dir=<包含 Ant 分发版的目录> dist (Windows)
sh build.sh -Ddist.dir=<包含 Ant 分发版的目录> dist (Unix)
这将在您指定的目录中创建一个 Ant 的二进制分发版。
上述操作将执行以下操作
dist目标。
在大多数情况下,您不需要显式引导 Ant,因为构建脚本会为您执行此操作。但是,如果您使用的构建文件使用了尚未编译到引导后的 Ant 中的功能,则需要手动引导。运行 bootstrap.bat(Windows)或 bootstrap.sh(UNIX)来构建 Ant 的新引导版本。
如果您希望将构建安装到当前的ANT_HOME
目录中,可以使用如果需要,您可以避免冗长的 Javadoc 步骤,使用build install (Windows)
sh build.sh install (Unix)
这将只安装 bin 和 lib 目录。build install-lite (Windows)
sh build.sh install-lite (Unix)
install 和 install-lite 目标都将覆盖 ANT_HOME
中的当前 Ant 版本。
Ant 的构建脚本将尝试为其在 Unix(-like) 系统上的 shell 脚本设置可执行标志。 chmod 任务可能失败的原因有很多(例如,当您以与最初安装 Ant 的用户不同的用户身份运行构建脚本时)。在这种情况下,您可以在启动构建时将 Ant 属性 chmod.fail
设置为 false,例如
sh build.sh install -Dchmod.fail=false
任何更改权限的错误都不会导致构建失败。
如果您使用的是指示的功能,则 Ant 的类路径中需要以下库。请注意,映射器只需要一个正则表达式库(并且 Java 包含 Ant 将自动找到的正则表达式实现)。您还需要安装包含任务定义的特定 Ant 可选 JAR,以使这些任务可用。请参阅上面的 安装 Ant / 可选任务 部分。
JAR 名称 | 需要用于 | 可在以下位置获取 |
---|---|---|
jakarta-regexp-1.4.jar | regexp 类型与映射器(如果您不想使用 java.util.regex ) |
https://attic.apache.org/projects/jakarta-regexp.html |
jakarta-oro-2.0.8.jar | regexp 类型与映射器(如果您不想使用 java.util.regex )或 ftp 任务与 commons-net 1.4.1 |
https://attic.apache.org/projects/jakarta-oro.html |
junit.jar | junit 任务(可能在传递给任务的类路径中,而不是 Ant 的类路径中) | https://junit.java.net.cn/ |
xalan.jar | junitreport 任务 | https://xml.apache.org/xalan-j/ |
antlr.jar | antlr 任务 | https://www.antlr.org/ |
bsf.jar | script 任务 注意:Ant 1.6 及更高版本需要 Apache BSF 2.3.0 或更高版本。 注意:BSF 2.4.0 需要使用 1.5R4 或更高版本的 Rhino JavaScript。 注意:BSF 2.4.0 使用 Commons Logging,因此它需要 commons-logging.jar。 |
https://commons.apache.org/bsf/ |
Groovy JAR | 带有绑定的 Groovy Ant 任务或带有 script 和 scriptdef 任务的 Groovy | https://groovy-lang.cn/ 使用 groovy-ant 用于带有绑定的 Groovy Ant 任务,或 groovy-bsf 用于带有 script 和 scriptdef 任务的 Groovy(或 groovy-all) |
netrexx.jar | netrexxc 任务,带有 script 任务的 Rexx | https://www.ibm.com/software/awdtools/netrexx/library.html |
rhino.jar (包含在 Java 7 运行时中,在 Java 8 及更高版本中被 Nashorn 替换,在 Java 15 中被删除) |
带有 script 任务的 JavaScript 注意:Apache BSF 2.4.0 仅适用于 Rhino 1.5R4 及更高版本。 |
https://www.mozilla.org/rhino/ |
graalvm js.jar 和 js-scriptengine.jar |
Java 15 及更高版本的 script 任务的 JavaScript |
Java 15 已删除 Nashorn,GraalVM JavaScript 旨在取代它 - 在 Java 类库之外。 注意 GraalVM JavaScript 不是 Nashorn 的直接替代品,有关详细信息,请参阅 script 任务文档。此外,GraakVM JavaScript 需要更多依赖项,特别是 GraalVM 正则表达式、truffle、GraalVM SDK 和 ICU。 |
jython.jar | 带有 script 任务的 Python | https://www.jython.cn/ |
jacl.jar 和 tcljava.jar | 带有 script 任务的 TCL | http://tcljava.sourceforge.net/ |
jtcl.jar | 带有 script 任务的 TCL | https://jtcl-project.github.io/jtcl/ |
BeanShell JAR | 带有 script 任务的 BeanShell。 注意:Ant 需要 BeanShell 1.3 或更高版本 |
http://www.beanshell.org/ |
jruby.jar | 带有 script 任务的 Ruby | https://jruby.org/ |
judo.jar | 带有 script 任务的 Judo 语言 | 以前位于 http://www.judoscript.org/,现在已不可用。 |
commons-logging.jar | CommonsLoggingListener | https://commons.apache.org/logging/ |
log4j.jar | Log4jListener | 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/ |
jakarta.mail.jar | mail 任务和已弃用的 mimemail 任务 | https://eclipse-ee4j.github.io/mail/ |
activation.jar
|
带有 MIME 编码的 mail 任务,以及已弃用的 mimemail 任务 | https://github.com/eclipse-ee4j/jaf |
jdepend.jar | jdepend 任务 | https://github.com/clarkware/jdepend |
resolver.jar 1.1 或更高版本 | xmlcatalog 数据类型(仅当需要对外部目录文件支持时) | https://xerces.apache.org/xml-commons/components/resolver/ |
jsch.jar 0.1.55 或更高版本 | sshexec 和 scp 任务 | http://www.jcraft.com/jsch/ |
JAI - Java 高级成像 | image 任务 | https://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html |
jai-imageio-core.jar | Java 8 上的 TIFF 支持以及 PCX、PNM、RAW 支持的 imageio 任务 | https://github.com/jai-imageio/jai-imageio-core/releases |
XZ - Java 的 XZ 1.6 或更高版本 | xz 和 unxz 任务、xzresource、tar/untar 任务中的 xz 压缩 | https://www.tukaani.org/xz/java.html |
JUnit 5 平台 jar
|
junitlauncher 任务。可能需要其他库,具体取决于所选的测试引擎,有关详细信息,请参阅该任务的文档 | https://junit.java.net.cn/junit5/ |
Ant 具有内置的诊断功能。如果您运行 ant -diagnostics,Ant 将查看其内部状态并将其打印出来。此代码将检查并打印以下内容。
ANT_HOME/lib
中有哪些 JAR 文件运行 ant -diagnostics 是检查 Ant 是否已安装的良好方法。它也是自诊断任何问题的第一步。向用户邮件列表报告的任何配置问题可能会导致有人要求您运行该命令并显示结果,因此请自行使用它以节省时间。
对于 IDE 中的诊断,请使用 diagnostics 任务运行与 Ant 选项相同的测试。这可以添加到构建文件中的诊断目标中,以查看 IDE 下可用的任务、XML 解析器和类路径等。
如果您无法安装或运行 Ant,Ant 用户邮件列表是解决任何问题的最佳起点。请先做好功课,确保这不是 CLASSPATH
问题,并运行 诊断检查 以查看 Ant 对自身状态的看法。为什么是用户列表,而不是开发者列表?因为用户比开发者多,所以可以帮助您的人也更多。
请仅在 Ant 中存在与配置相关的可修复错误时,才针对 Ant 提交有关配置/启动问题的错误报告,例如它在特定平台上无法正常工作,或者在特定 JVM 版本上无法正常工作,或者用户邮件列表建议您这样做。