L’action actions/setup-java est
la méthode recommandée pour installer Eclipse Temurin dans les workflows GitHub Actions.
Elle gère le téléchargement, la mise en cache et la configuration du JDK sur le runner.
Utilisation de base
Pour configurer Eclipse Temurin dans un workflow, ajoutez l’étape suivante :
Note
Les versions d’actions indiquées dans ces exemples peuvent ne pas toujours refléter les dernières versions. Consultez les
versions de actions/setup-java et les
versions de actions/checkout pour les versions les plus récentes. Le projet Adoptium recommande d’épingler les actions sur des SHA de commit complets plutôt que sur des étiquettes de version pour une meilleure sécurité et reproductibilité.
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
- run: java --version
La distribution doit être définie sur temurin et java-version spécifie quelle version majeure installer.
Tests avec plusieurs versions Java
Utilisez une stratégie de matrice pour tester votre projet avec plusieurs versions 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
Mise en cache des dépendances
L’action setup-java intègre la prise en charge de la mise en cache des dépendances gérées par Maven, Gradle et sbt.
Mise en cache des dépendances Maven
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
cache: 'maven'
- run: mvn -B package
Exemple de workflow complet
Voici un workflow complet qui construit et teste un projet Maven avec Eclipse Temurin sur plusieurs versions 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
Utilisation de la dernière version
Définissez check-latest: true pour toujours télécharger la version la plus récente disponible, plutôt que de vous fier à la version mise en cache sur le runner :
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: '25'
check-latest: true
Note
check-latest sur true a des implications en termes de performances car le téléchargement d’un JDK est plus lent que l’utilisation de versions mises en cache.
Installation de plusieurs JDK
Vous pouvez installer plusieurs versions de JDK dans un seul job. La dernière version configurée sera celle par défaut dans PATH :
steps:
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: |
11
17
25
Les autres versions Java sont accessibles via des variables d’environnement telles que JAVA_HOME_11_X64, JAVA_HOME_17_X64, etc.
