跳至主要内容

使用 Ant 构建和测试 Java

了解如何在 GitHub Actions 中创建持续集成(CI)工作流,以使用 Ant 构建和测试您的 Java 项目。

简介

本指南展示了如何创建一个工作流,使用 Ant 构建系统为您的 Java 项目执行持续集成(CI)。您创建的工作流将让您了解对拉取请求的提交何时导致相对于默认分支的构建或测试失败;此方法有助于确保代码始终保持健康。您还能扩展 CI 工作流,以在工作流运行时上传制品。

GitHub 托管的运行器拥有包含预装软件的工具缓存,其中包括 Java 开发工具包(JDK)和 Ant。有关软件列表及 JDK 与 Ant 的预装版本,请参阅 GitHub 托管的运行器

先决条件

您应该熟悉 YAML 以及 GitHub Actions 的语法。欲了解更多信息,请参见

我们建议您具备 Java 和 Ant 框架的基础了解。欲了解更多信息,请参阅 Apache Ant 手册

使用 Ant 工作流模板

要快速开始,请将工作流模板添加到您仓库的 .github/workflows 目录中。

GitHub 提供了一个适用于 Ant 的工作流模板,适用于大多数使用 Ant 的 Java 项目。本指南后续章节提供了自定义此工作流模板的示例。

  1. 在 GitHub 上,导航至仓库的主页面。

  2. 在您的仓库名称下,点击 操作

    Screenshot of the tabs for the "github/docs" repository. The "Actions" tab is highlighted with an orange outline.

  3. 如果您已经在仓库中有工作流,请点击 新建工作流

  4. “选择工作流”页面展示了一系列推荐的工作流模板。搜索 “Java with Ant”。

  5. 在 “Java with Ant” 工作流上,点击 Configure

  6. 根据需要编辑工作流。例如,修改 Java 版本。

  7. 点击 Commit changes

    工作流文件 ant.yml 被添加到仓库的 .github/workflows 目录中。

指定 Java 版本和架构

工作流模板会设置 PATH,以包含适用于 x64 平台的 OpenJDK 8。如果您想使用不同的 Java 版本,或针对不同的架构(x64x86),可以使用 setup-java 操作来选择其他 Java 运行时环境。

例如,要在 x64 平台上使用 Adoptium 提供的 JDK 11,您可以使用 setup-java 操作,并将 java-versiondistributionarchitecture 参数分别配置为 '11''temurin'x64

YAML
steps:
  - uses: actions/checkout@v5
  - name: Set up JDK 11 for x64
    uses: actions/setup-java@v4
    with:
      java-version: '11'
      distribution: 'temurin'
      architecture: x64

欲了解更多信息,请参见 setup-java 操作。

构建和测试您的代码

您可以使用在本地构建和测试代码时使用的相同命令。

工作流模板将运行您在 build.xml 文件中指定的默认目标。默认目标通常会设置为构建类、运行测试并将类打包为可分发的格式,例如 JAR 文件。

如果您使用不同的命令来构建项目,或想运行其他目标,可自行指定。例如,您可能想运行在 build-ci.xml 文件中配置的 jar 目标。

YAML
steps:
  - uses: actions/checkout@v5
  - uses: actions/setup-java@v4
    with:
      java-version: '17'
      distribution: 'temurin'
  - name: Run the Ant jar target
    run: ant -noinput -buildfile build-ci.xml jar

将工作流数据打包为工件

在构建成功、测试通过后,您可能希望将生成的 Java 包上传为构建制品。这样可以将构建产物作为工作流运行的一部分进行存储,并允许您下载它们。制品有助于在本地环境中测试和调试拉取请求,直至合并。欲了解更多信息,请参见 使用工作流制品存储和共享数据

Ant 通常会在 build/jar 目录中生成 JAR、EAR 或 WAR 等输出文件。您可以使用 upload-artifact 操作上传该目录的内容。

YAML
steps:
  - uses: actions/checkout@v5
  - uses: actions/setup-java@v4
    with:
      java-version: '17'
      distribution: 'temurin'

  - run: ant -noinput -buildfile build.xml
  - uses: actions/upload-artifact@v4
    with:
      name: Package
      path: build/jar
© . This site is unofficial and not affiliated with GitHub, Inc.