安装 Apache Ant

获取 Apache Ant

短篇故事

要快速启动并运行 Ant 的二进制发行版,请按照下列步骤操作:

  1. 确保已安装 Java 环境,详细信息请参阅系统要求
  2. 下载 Ant. 有关详细信息,请参阅二进制分发
  3. 将下载的文件解压到一个目录中。
  4. 将环境变量设置JAVA_HOME为您的 Java 环境、ANT_HOME将 Ant 解压缩到的目录,并将${ANT_HOME}/bin(Unix) 或%ANT_HOME%/bin(Windows) 添加到您的PATH. 有关详细信息,请参阅设置
  5. 或者,从ANT_HOME运行目录ant -f fetch.xml -Ddest=system中获取大多数需要它们的 Ant 任务的库依赖项。如果您不这样做,许多依赖的 Ant 任务将不可用。有关参数的详细信息和其他选项,请参阅可选任务-Ddest
  6. (可选)添加任何所需的 Antlib。请参阅Ant 库以获取列表。

请注意,如果您需要的话,上面列表中的链接将提供有关每个步骤的更多详细信息。或者您可以继续阅读本文档的其余部分。

使用 Ant 源代码的简短故事(如果您使用二进制发行版则不需要)是:

  1. 获取源代码。有关详细信息,请参阅源分发。
  2. 构建 Ant。有关详细信息,请参阅构建 Ant

欲了解完整故事,请继续阅读。

二进制分发

Ant 的最新稳定版本可从 Ant 网页http://ant.apache.org/获取

Ant 的二进制发行版有 3 种不同的存档形式

  1. .zip - 推荐用于 Windows 的压缩格式,也可用于其他平台。许多程序和一些操作系统本身都支持。
  2. .tar.gz - 使用 tar 程序将文件收集在一起,并使用 gzip 来压缩和解压缩。
  3. .tar.bz2 - 使用 tar 程序将文件收集在一起,并使用 bzip2 进行压缩和解压缩。

选择最适合您的平台支持的格式。

二进制 RPM 包

请参阅下面的jpackage部分。

捆绑在 IDE 中

所有主要的 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 应用程序中

许多 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 及更高版本。

开源 Java 运行时

Ant 团队大力支持在OpenJDK和其他开源 Java 运行时上运行 Ant 的用户,因此努力拥有一款在这些平台上运行良好的产品。


安装 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 启动脚本中使用的环境变量。为此,您需要在文件中添加或更新以下 config.sys

shell=c:\command.com c:\ /p /e:32768

设置

在运行 Ant 之前,您需要执行一些额外的设置,除非您 从 jpackage.org 安装 RPM 版本

从命令行执行此操作的操作系统特定说明位于WindowsLinux/Unix (bash)Linux/Unix (csh)部分。请注意,使用此方法时,这些设置仅对您运行它们的命令行会话有效。

注意:不要将Ant的ant.jar文件安装到lib/extJDK/JRE的目录中。Ant 是一个应用程序,而扩展目录用于 JDK 扩展。特别是对可以由扩展加载的类存在安全限制。

Windows 注意:
  ant.bat脚本使用三个环境变量 - ANT_HOMECLASSPATHJAVA_HOME确保设置了ANT_HOMEJAVA_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来查找库。启动程序使用JAVA_HOME来查找要使用的 JDK/JRE。(建议使用 JDK,因为某些任务需要 Java 工具。)如果未设置,启动程序会尝试通过环境变量查找%PATH%设置PATH是为了方便用户。有了这个设置,你就可以启动ant而不必总是输入 /complete/path/to/your/ant/installation/bin/ant

可选任务

Ant 支持许多可选任务。可选任务是通常需要外部库才能运行的任务。可选任务与核心 Ant 任务打包在一起。

每个可选任务所需的外部库在“库依赖关系”部分中详细介绍。必须通过以下任一方式将这些外部库添加到 Ant 的类路径中:

如果您使用 Ant 的二进制发行版,或者如果您使用源代码,则可以轻松收集大部分依赖项并安装它们以用于 Ant 任务。在您的ANT_HOME目录中,您应该会看到一个名为fetch.xml. 这是一个 Ant 脚本,您可以运行它来安装可选 Ant 任务所需的几乎所有依赖项。

为此,请更改到ANT_HOME目录并执行命令:

 ant -f fetch.xml -Ddest=[option]

其中 option 是以下选项之一,如上所述:

您可能还需要设置代理设置。有关详细信息,请参阅代理设置部分。

请注意,并非所有依赖项都是使用 收集的fetch.xml。特别是依赖商业软件的任务将要求您安装商业软件才能使用。

Apache Ant 项目还提供了其他任务和类型,可以单独下载 Ant 库。您可以在Ant 库页面查看可用 Antlib 的列表。

您还可以在外部工具和任务页面 找到第三方项目提供的任务和类型。

IDE 有不同的方式将外部 JAR 文件和第三方任务添加到 Ant。通常它是通过一些配置对话框来完成的。有时,添加到项目中的 JAR 文件会自动添加到 Ant 的类路径中。

环境CLASSPATH变量

环境CLASSPATH变量是许多 Ant 支持查询的来源。由于 Ant 用户邮件列表上的诊断往返时间可能很慢,并且由于提交抱怨“ant.bat”不起作用的错误报告将被开发人员拒绝,因为 WORKSFORME“这是配置问题,而不是错误” ,通过执行一些简单的步骤,您可以节省大量时间并减少挫败感。

  1. 永远不要设置CLASSPATH。Ant 不需要它,它只会造成混乱并破坏事物。
  2. 如果您忽略前面的规则,则永远不要在 中添加引号CLASSPATH,即使目录中有空格。这会破坏Ant,而且没有必要。
  3. 如果您忽略第一条规则,则永远不要在 a 中添加尾部反斜杠CLASSPATH,因为它会破坏 Ant 引用字符串的能力。CLASSPATH 同样,即使要将 DOS 目录添加到路径中,也不需要环境变量的正确操作。
  4. 您可以通过在命令行上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。以下是执行此操作的不同方法。

Ant团队承认这并不令人满意。在 JVM 自动代理设置在任何地方都能正常工作之前,显式 JVM 选项ANT_ARGS可能是最好的解决方案。在 Ant 命令行上设置属性不起作用,因为这些是正在设置的Ant 属性,而不是 JVM 选项。这意味着以下内容不会设置命令行:

 ant -Dhttp.proxyHost=proxy -Dhttp.proxyPort=81

它所做的只是设置两个 Ant 属性。

代理的另一个麻烦点是验证代理。Ant 无法超越 JVM 在这里所做的事情,并且由于远程诊断、测试和修复与代理相关的问题非常困难,因此在安全代理后面工作的用户将不得不花费大量时间配置 JVM 属性,直到他们满意为止。

Windows 和 OS/2

假设 Ant 安装在c:\ant\. 环境搭建如下:

 set ANT_HOME=c:\ant
set JAVA_HOME=c:\jdk1.7.0_51
set PATH=%PATH%;%ANT_HOME%\bin

Linux/Unix(bash)

假设 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

Linux/Unix (csh)

 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.org 的 RPM 版本

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 不支持:

  1. 决定要将额外 JAR 部署到的位置。一个选项是$ANT_HOME/lib,对于 JPackage 通常是/usr/share/ant/lib。另一个不太混乱的选择是创建.ant/lib主目录的子目录并将非 JPackage Ant JAR 放置在那里,从而避免将 JPackage 库与非 JPackage 内容混合在同一文件夹中。有关 Ant 在哪里找到其库的更多信息,请参阅此处
  2. 从常规Apache Ant 站点下载非 JPackage 二进制发行版
  3. 将发行版解压缩或解压到临时目录中
  4. 将链接 JAR(在本例中为 )复制ant-jai.jar到您在上面步骤 1 中选择的库目录中。
  5. 将专有 JAR 本身复制到同一目录中。
最后,如果出于某种原因,您在同时具有 JPackage 和 Apache 版本的 Ant 的系统上运行,如果您想要运行 Apache 版本(必须使用绝对文件名指定,而不是在路径中找到) ),您应该使用 Ant 的--noconfig命令行开关来避免 JPackage 的类路径机制。

先进的

运行 Ant 有多种不同的方法。您至少需要以下内容:

提供的 Ant shell 脚本都支持ANT_OPTS环境变量,该变量可用于向 Ant 提供额外的选项。某些脚本还会读取存储在用户主目录中的额外脚本,该脚本可用于设置此类选项。有关详细信息,请查看您平台的调用脚本的源代码。

建筑 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 的二进制发行版。

上述操作执行以下操作:

在大多数情况下,您不需要显式引导 Ant,因为构建脚本会为您完成此操作。但是,如果您正在使用的构建文件使用了尚未编译到引导 Ant 中的功能,则您将需要手动引导。运行bootstrap.bat(Windows) 或bootstrap.sh(UNIX) 以构建新的 Ant 引导程序版本。

如果您希望将构建安装到当前ANT_HOME 目录中,可以使用:

build install    (Windows

sh build.sh install    (Unix

如果需要,您可以通过以下方式避免冗长的 Javadoc 步骤:

build install-lite    (Windows

sh build.sh install-lite    (Unix

这只会安装binlib目录。

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 任务或具有scriptscriptdef任务的 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 ftprexectelnet任务
编译 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 sshexecscp任务 http://www.jcraft.com/jsch/
JAI - Java Advanced Imaging 图像任务 https://download.java.net/media/jai/builds/release/1_1_3/INSTALL.html
  • 有哪些可选任务可用。如果某个任务未列为可用,则要么该任务不存在,要么该任务所依赖的库不存在。
  • 诊断

    Ant 具有内置的诊断功能。如果运行ant -diagnosticsant,它将查看其内部状态并将其打印出来。这段代码将检查并打印以下内容。

    运行ant -diagnostics是检查 Ant 是否已安装的好方法。这也是对任何问题进行自我诊断的第一步。向用户邮件列表报告的任何配置问题都可能会导致有人要求您运行命令并显示结果,因此您自己使用它可以节省时间。

    对于 IDE 内的诊断,请使用诊断任务来运行与 Ant 选项相同的测试。可以将其添加到构建文件中的诊断目标,以查看 IDE 下可用的任务、XML 解析器和类路径是什么等。

    用户邮件列表

    如果您无法安装或运行 Ant,Ant 用户邮件列表是解决任何问题的最佳位置。请先做好功课,确保这不是CLASSPATH 问题,然后运行诊断检查以查看 Ant 对自身状态的看法。为什么是用户列表,而不是开发者列表?因为用户比开发者多,所以可以帮助你的人也更多。

    如果 Ant 中确实存在与配置相关的可修复错误,例如它无法在特定平台、特定 JVM 版本等上运行,或者如果您收到建议,请仅针对配置/启动问题针对 Ant 提交错误报告通过用户邮件列表来完成此操作。