

AWS App Runner ne sera plus ouvert aux nouveaux clients à compter du 30 avril 2026. Si vous souhaitez utiliser App Runner, inscrivez-vous avant cette date. Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez [AWS App Runner la section Modification de la disponibilité](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utilisation de la plateforme Java
<a name="service-source-code-java"></a>

La plate-forme AWS App Runner Java fournit des environnements d'exécution gérés. Chaque environnement d'exécution facilite la création et l'exécution de conteneurs avec des applications Web basées sur une version Java. Lorsque vous utilisez un environnement d'exécution Java, App Runner démarre avec une image d'exécution Java gérée. Cette image est basée sur l'[image Docker d'Amazon Linux](https://hub.docker.com/_/amazonlinux) et contient le package d'exécution pour une version de Java et certains outils. App Runner utilise cette image d'exécution gérée comme image de base et ajoute le code de votre application pour créer une image Docker. Il déploie ensuite cette image pour exécuter votre service Web dans un conteneur.

 Vous spécifiez un environnement d'exécution pour votre service App Runner lorsque vous [créez un service](manage-create.md) à l'aide de la console App Runner ou de l'opération [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API. Vous pouvez également spécifier un environnement d'exécution dans le cadre de votre code source. Utilisez le `runtime` mot clé dans un [fichier de configuration App Runner](config-file.md) que vous incluez dans votre référentiel de code. La convention de dénomination d'un environnement d'exécution géré est*<language-name><major-version>*. 

À l'heure actuelle, tous les environnements d'exécution Java pris en charge sont basés sur Amazon Corretto. Pour les noms et versions d'exécution Java valides, consultez[Informations sur la version de Java Runtime](service-source-code-java-releases.md).

App Runner met à jour le moteur d'exécution de votre service avec la dernière version à chaque déploiement ou mise à jour de service. Si votre application nécessite une version spécifique d'un environnement d'exécution géré, vous pouvez le spécifier à l'aide du `runtime-version` mot clé dans le [fichier de configuration d'App Runner](config-file.md). Vous pouvez verrouiller n'importe quel niveau de version, y compris une version majeure ou mineure. App Runner apporte uniquement des mises à jour de niveau inférieur à l'environnement d'exécution de votre service.

Syntaxe de version pour les environnements d'exécution Amazon Corretto :


| **Exécution** | **Syntaxe** | **Exemple** | 
| --- | --- | --- | 
|  corretto11  |  `11.0[.openjdk-update[.openjdk-build[.corretto-specific-revision]]]`  |  `11.0.13.08.1`  | 
|  corretto8  |  `8[.openjdk-update[.openjdk-build[.corretto-specific-revision]]]`  |  `8.312.07.1`  | 

Les exemples suivants illustrent le verrouillage des versions :
+ `11.0.13`— Verrouillez la version de mise à jour d'Open JDK. App Runner met à jour uniquement les versions de niveau inférieur d'Open JDK et d'Amazon Corretto.
+ `11.0.13.08.1`— Verrouillez vers une version spécifique. App Runner ne met pas à jour votre version d'exécution.

**Topics**
+ [Configuration de l'environnement d'exécution Java](#service-source-code-java.config)
+ [Exemples d'exécution Java](#service-source-code-java.examples)
+ [Informations sur la version de Java Runtime](service-source-code-java-releases.md)

## Configuration de l'environnement d'exécution Java
<a name="service-source-code-java.config"></a>

Lorsque vous choisissez un environnement d'exécution géré, vous devez également configurer, au minimum, créer et exécuter des commandes. Vous les configurez lors de [la création](manage-create.md) ou de la [mise à jour](manage-configure.md) de votre service App Runner. Pour ce faire, vous pouvez utiliser l'une des méthodes suivantes :
+ **Utilisation de la console App Runner** : spécifiez les commandes dans la section **Configurer le build** de l'onglet Processus de création ou configuration.
+ **Utilisation de l'API App Runner** : appelez l'opération [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)ou [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API. Spécifiez les commandes à l'aide des `StartCommand` membres `BuildCommand` et du type de [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)données.
+ **Utilisation d'un [fichier de configuration](config-file.md)** : spécifiez une ou plusieurs commandes de génération en trois phases de génération au maximum, ainsi qu'une seule commande d'exécution servant à démarrer votre application. Il existe d'autres paramètres de configuration facultatifs.

La fourniture d'un fichier de configuration est facultative. Lorsque vous créez un service App Runner à l'aide de la console ou de l'API, vous spécifiez si App Runner obtient vos paramètres de configuration directement lors de sa création ou à partir d'un fichier de configuration.

## Exemples d'exécution Java
<a name="service-source-code-java.examples"></a>

Les exemples suivants présentent les fichiers de configuration App Runner permettant de créer et d'exécuter un service Java. Le dernier exemple est le code source d'une application Java complète que vous pouvez déployer sur un service d'exécution Corretto 11.

**Note**  
La version d'exécution utilisée dans ces exemples est*11.0.13.08.1*. Vous pouvez le remplacer par la version que vous souhaitez utiliser. Pour la dernière version d'exécution Java prise en charge, voir[Informations sur la version de Java Runtime](service-source-code-java-releases.md).

### Fichier de configuration Minimal Corretto 11
<a name="service-source-code-java.examples.minimal"></a>

Cet exemple montre un fichier de configuration minimal que vous pouvez utiliser avec un environnement d'exécution géré par Corretto 11. Pour les hypothèses formulées par App Runner avec un fichier de configuration minimal, consultez.

**Example apprunner.yaml**  

```
version: 1.0
runtime: corretto11
build:
  commands:    
    build:
      - mvn clean package
run:                              
  command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar .
```

### Fichier de configuration étendu de Corretto 11
<a name="service-source-code-java.examples.extended"></a>

Cet exemple montre comment utiliser toutes les clés de configuration avec un environnement d'exécution géré par Corretto 11.

**Note**  
La version d'exécution utilisée dans ces exemples est*11.0.13.08.1*. Vous pouvez le remplacer par la version que vous souhaitez utiliser. Pour la dernière version d'exécution Java prise en charge, voir[Informations sur la version de Java Runtime](service-source-code-java-releases.md).

**Example apprunner.yaml**  

```
version: 1.0
runtime: corretto11
build:
  commands:
    pre-build:
      - yum install some-package
      - scripts/prebuild.sh
    build:
      - mvn clean package
    post-build:
      - mvn clean test
  env:
    - name: M2
      value: "/usr/local/apache-maven/bin"
    - name: M2_HOME
      value: "/usr/local/apache-maven/bin"
run:
  runtime-version: 11.0.13.08.1
  command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar .
  network:
    port: 8000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### Source complète de l'application Corretto 11
<a name="service-source-code-java.examples.end2end"></a>

Cet exemple montre le code source d'une application Java complète que vous pouvez déployer sur un service d'exécution Corretto 11.

**Example src/main/java/com/HelloWorld/HelloWorld.java**  

```
package com.HelloWorld;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorld {

    @RequestMapping("/")
    public String index(){
        String s = "Hello World";
        return s;
    }
}
```

**Example src/main/java/com/HelloWorld/Main.java**  

```
package com.HelloWorld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {

    public static void main(String[] args) {

        SpringApplication.run(Main.class, args);
    }
}
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: corretto11
build:
  commands:    
    build:
      - mvn clean package
run:                              
  command: java -Xms256m -jar target/HelloWorldJavaApp-1.0-SNAPSHOT.jar .
  network:
    port: 8080
```

**Example pom.xml**  

```
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.1.RELEASE</version>
    <relativePath/>
  </parent>
  <groupId>com.HelloWorld</groupId>
  <artifactId>HelloWorldJavaApp</artifactId>
  <version>1.0-SNAPSHOT</version>

  <properties>
    <java.version>11</java.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.junit.vintage</groupId>
          <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <release>11</release>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
```

# Informations sur la version de Java Runtime
<a name="service-source-code-java-releases"></a>

Cette rubrique répertorie tous les détails des versions d'exécution Java prises en charge par App Runner.


**Versions d'exécution prises en charge : version originale d'App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/apprunner/latest/dg/service-source-code-java-releases.html)

**Note**  
App Runner fournit un processus de compilation révisé pour des environnements d'exécution majeurs spécifiques qui ont été publiés plus récemment. Pour cette raison, vous verrez des références à la *version révisée d'App Runner et à la version* *originale d'App Runner* dans certaines sections de ce document. Pour plus d'informations, consultez [Versions d'exécution gérées et build d'App Runner](service-source-code.md#service-source-code.build-detail).