简介
本指南展示了如何创建一个工作流,使用 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 项目。本指南后续章节提供了自定义此工作流模板的示例。
-
在 GitHub 上,导航至仓库的主页面。
-
在您的仓库名称下,点击 操作。

-
如果您已经在仓库中有工作流,请点击 新建工作流。
-
“选择工作流”页面展示了一系列推荐的工作流模板。搜索 “Java with Ant”。
-
在 “Java with Ant” 工作流上,点击 Configure。
-
根据需要编辑工作流。例如,修改 Java 版本。
-
点击 Commit changes。
工作流文件
ant.yml被添加到仓库的.github/workflows目录中。
指定 Java 版本和架构
工作流模板会设置 PATH,以包含适用于 x64 平台的 OpenJDK 8。如果您想使用不同的 Java 版本,或针对不同的架构(x64 或 x86),可以使用 setup-java 操作来选择其他 Java 运行时环境。
例如,要在 x64 平台上使用 Adoptium 提供的 JDK 11,您可以使用 setup-java 操作,并将 java-version、distribution 和 architecture 参数分别配置为 '11'、'temurin' 和 x64。
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
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 目标。
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
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 操作上传该目录的内容。
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
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