在 GitHub Actions 中使用 Eclipse Temurin

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 必须设置为 temurinjava-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

缓存 Gradle 依赖项

steps:
  - uses: actions/checkout@v6
  - uses: actions/setup-java@v5
    with:
      distribution: 'temurin'
      java-version: '25'
      cache: 'gradle'
  - run: ./gradlew build

缓存 sbt 依赖项

steps:
  - uses: actions/checkout@v6
  - uses: actions/setup-java@v5
    with:
      distribution: 'temurin'
      java-version: '25'
      cache: 'sbt'
  - run: sbt 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 比使用缓存版本更慢。

安装多个 JDK

您可以在单个作业中安装多个 JDK 版本。最后配置的版本将成为 PATH 上的默认版本:

steps:
  - uses: actions/setup-java@v5
    with:
      distribution: 'temurin'
      java-version: |
        11
        17
        25

其他 Java 版本可通过环境变量(如 JAVA_HOME_11_X64JAVA_HOME_17_X64 等)访问。

edit icon

帮助我们完善这些文档!

所有 Adoptium 文档均为开源。发现错误或不清楚的内容?

文档作者
gdams
Join our Slack channel to discuss and reach out to maintainers.Join Slack