Uso de Eclipse Temurin en GitHub Actions

La acción actions/setup-java es la forma recomendada de instalar Eclipse Temurin en los flujos de trabajo de GitHub Actions. Se encarga de la descarga, el almacenamiento en caché y la configuración del JDK en el runner.

Uso básico

Para configurar Eclipse Temurin en un flujo de trabajo, agregue el siguiente paso:

Note

Las versiones de las acciones mostradas en estos ejemplos pueden no reflejar siempre las últimas versiones. Consulte las versiones de actions/setup-java y versiones de actions/checkout para obtener las versiones más actualizadas. El proyecto Adoptium recomienda fijar las acciones a SHAs de commit completos en lugar de etiquetas de versión para mayor seguridad y reproducibilidad.

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

La opción distribution debe establecerse en temurin y java-version especifica qué versión principal instalar.

Pruebas con múltiples versiones de Java

Use una estrategia de matriz para probar su proyecto con múltiples versiones de 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

Almacenamiento en caché de dependencias

La acción setup-java tiene soporte integrado para almacenar en caché las dependencias gestionadas por Maven, Gradle y sbt.

Caché de dependencias de Maven

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

Caché de dependencias de Gradle

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

Caché de dependencias de sbt

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

Ejemplo completo de flujo de trabajo

A continuación se muestra un flujo de trabajo completo que compila y prueba un proyecto Maven usando Eclipse Temurin con múltiples versiones de 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

Uso de la última versión

Establezca check-latest: true para descargar siempre la versión más actualizada disponible, en lugar de depender de la versión almacenada en caché en el runner:

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

Note

Establecer check-latest en true tiene implicaciones de rendimiento, ya que descargar un JDK es más lento que usar versiones en caché.

Instalación de múltiples JDK

Puede instalar múltiples versiones de JDK en un mismo trabajo. La última versión configurada será la predeterminada en PATH:

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

Se puede acceder a otras versiones de Java a través de variables de entorno como JAVA_HOME_11_X64, JAVA_HOME_17_X64, etc.

edit icon

¡Ayúdanos a mejorar esta documentación!

Toda la documentación de Adoptium es de código abierto. ¿Has encontrado algo incorrecto o confuso?

Autores de la documentación
gdams
Join our Slack channel to discuss and reach out to maintainers.Join Slack