

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.

# Configurez un projet GraalVM Native Image qui utilise AWS SDK for Java 2.x
<a name="setup-project-graalvm"></a>

Avec les versions 2.16.1 et ultérieures, il prend en out-of-the-box charge les AWS SDK for Java 2.x applications GraalVM Native Image. Utilisez l'archétype `archetype-app-quickstart` Maven pour configurer un projet avec prise en charge native intégrée des images.

## Conditions préalables
<a name="setup-graalvmnativeimage-prereq"></a>
+ Suivez les étapes décrites dans [Configuration de la version AWS SDK pour Java 2.x](setup.md).
+ Installez [GraalVM Native Image](https://www.graalvm.org/reference-manual/native-image/#install-native-image).

## Créez un projet à l'aide de l'archétype
<a name="setup-graalvmnativeimage-project"></a>

Pour créer un projet Maven avec prise en charge native intégrée des images, dans un terminal ou une fenêtre d'invite de commande, utilisez la commande suivante.

**Note**  
`com.example.mynativeimageapp`Remplacez-le par l'espace de noms de package complet de votre application. Remplacez également `mynativeimageapp` par le nom de votre projet. Cette valeur devient le nom du répertoire de votre projet.

```
mvn archetype:generate \
    -DarchetypeGroupId=software.amazon.awssdk \
    -DarchetypeArtifactId=archetype-app-quickstart \
    -DarchetypeVersion=2.27.21\
    -DnativeImage=true \
    -DhttpClient=apache-client \
    -Dservice=s3 \
    -DgroupId=com.example.mynativeimageapp \
    -DartifactId=mynativeimageapp \
    -DinteractiveMode=false
```

Cette commande crée un projet Maven configuré avec des dépendances pour le AWS SDK pour Java, Amazon S3, et le client `ApacheHttpClient` HTTP. Il inclut également une dépendance pour le [plugin GraalVM Native Image Maven](https://graalvm.github.io/native-build-tools/latest/index.html), afin que vous puissiez créer des images natives à l'aide de Maven.

Pour inclure les dépendances d'un autre service Amazon Web Services, définissez la valeur du `-Dservice` paramètre sur l'ID d'artefact de ce service. Exemples : `dynamodb`, `comprehend` et `pinpoint`. Pour obtenir la liste complète des artefacts IDs, consultez la liste des dépendances gérées pour [software.amazon.awssdk](https://mvnrepository.com/artifact/software.amazon.awssdk/bom/latest) sur Maven Central.

Pour utiliser un client HTTP asynchrone, définissez le `-DhttpClient` paramètre sur. `netty-nio-client` Pour l'utiliser `UrlConnectionHttpClient` en tant que client HTTP synchrone au lieu de`apache-client`, définissez le `-DhttpClient` paramètre sur`url-connection-client`.

## Créez une image native
<a name="build-graalvmnativeimage-project"></a>

Après avoir créé le projet, exécutez la commande suivante depuis le répertoire de votre projet, par exemple `mynativeimageapp` :

```
mvn package -P native-image
```

Cela crée une application d'image native dans le `target` répertoire, par exemple,`target/mynativeimageapp`.