Usando Eclipse Temurin no GitHub Actions

A ação actions/setup-java é a maneira recomendada de instalar o Eclipse Temurin em fluxos de trabalho do GitHub Actions. Ela cuida do download, do cache e da configuração do JDK no runner.

Uso Básico

Para configurar o Eclipse Temurin em um fluxo de trabalho, adicione o seguinte passo:

Note

As versões das ações mostradas nestes exemplos podem não refletir sempre as versões mais recentes. Verifique as versões de actions/setup-java e versões de actions/checkout para obter as versões mais atualizadas. O projeto Adoptium recomenda fixar as ações em SHAs completos de commit em vez de usar tags de versão, para maior segurança e reprodutibilidade.

steps:
  - uses: actions/checkout@v6
  - uses: actions/setup-java@v5
    with:
      distribution: 'temurin'
      java-version: '25'
  - run: java --version

O parâmetro distribution deve ser definido como temurin e java-version especifica qual versão principal instalar.

Testando com Múltiplas Versões do Java

Use uma estratégia de matriz para testar seu projeto com múltiplas versões do 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

Cache de Dependências

A ação setup-java possui suporte integrado para cache de dependências gerenciadas pelo Maven, Gradle e sbt.

Cache de Dependências Maven

steps:
  - uses: actions/checkout@v6
  - uses: actions/setup-java@v5
    with:
      distribution: 'temurin'
      java-version: '25'
      cache: 'maven'
  - run: mvn -B package

Cache de Dependências Gradle

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

Cache de Dependências sbt

steps:
  - uses: actions/checkout@v6
  - uses: actions/setup-java@v5
    with:
      distribution: 'temurin'
      java-version: '25'
      cache: 'sbt'
  - run: sbt package

Exemplo de Fluxo de Trabalho Completo

Veja a seguir um fluxo de trabalho completo que compila e testa um projeto Maven usando Eclipse Temurin em múltiplas versões do Java:

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

Usando a Versão Mais Recente

Defina check-latest: true para sempre baixar a versão mais atualizada disponível, em vez de depender da versão em cache no runner:

- uses: actions/setup-java@v5
  with:
    distribution: 'temurin'
    java-version: '25'
    check-latest: true

Note

Definir check-latest como true tem implicações de desempenho, pois baixar um JDK é mais lento do que usar versões em cache.

Instalando Múltiplos JDKs

Você pode instalar múltiplas versões do JDK em um único job. A última versão configurada será a padrão no PATH:

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

Outras versões do Java podem ser acessadas por meio de variáveis de ambiente como JAVA_HOME_11_X64, JAVA_HOME_17_X64, etc.

edit icon

Ajude-nos a melhorar esta documentação!

Toda a documentação do Adoptium é open source. Viu algo errado ou confuso?

Autores da Documentação
gdams
Join our Slack channel to discuss and reach out to maintainers.Join Slack