actions/setup-java action 是在 GitHub Actions 工作流中安装 Eclipse Temurin 的推荐方式。它负责在运行器上下载、缓存和配置 JDK。
基本用法
要在工作流中设置 Eclipse Temurin,请添加以下步骤:
Note
这些示例中显示的 action 版本可能并不总是反映最新发布。请查看 actions/setup-java 发布 和 actions/checkout 发布 以获取最新版本。Adoptium 项目建议将 action 固定到完整的提交 SHA 而非版本标签,以提高安全性和可重现性。
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
- run: java --version
distribution 必须设置为 temurin,java-version 指定要安装的主版本号。
针对多个 Java 版本进行测试
使用矩阵策略针对多个 Java 版本测试您的项目:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '11', '17', '25' ]
name: Java ${{ matrix.java }}
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
- run: java --version
缓存依赖项
setup-java action 内置支持缓存 Maven、Gradle 和 sbt 管理的依赖项。
缓存 Maven 依赖项
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
cache: 'maven'
- run: mvn -B package
完整工作流示例
以下是一个完整的工作流,使用 Eclipse Temurin 在多个 Java 版本上构建和测试 Maven 项目:
name: Build and Test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '11', '17', '25' ]
name: Build with Java ${{ matrix.java }}
steps:
- uses: actions/checkout@v6
- name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.java }}
cache: 'maven'
- name: Build with Maven
run: mvn -B package --file pom.xml
使用最新版本
设置 check-latest: true 可始终下载最新可用版本,而不依赖于运行器上的缓存版本:
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
check-latest: true
Note
将
check-latest 设置为 true 会对性能产生影响,因为下载 JDK 比使用缓存版本更慢。
