

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configure un proyecto de GraalVM Native Image que utilice AWS SDK for Java 2.x
<a name="setup-project-graalvm"></a>

Con las versiones 2.16.1 y posteriores, AWS SDK for Java 2.x proporciona out-of-the-box soporte para las aplicaciones GraalVM Native Image. Utilice el arquetipo de `archetype-app-quickstart` Maven para configurar un proyecto con soporte de imágenes nativo integrado.

## Requisitos previos
<a name="setup-graalvmnativeimage-prereq"></a>
+ Complete los pasos que se indican en [Configuración](setup.md) de la versión 2.x. AWS SDK para Java 
+ Instalar [GraalVM Native Image](https://www.graalvm.org/reference-manual/native-image/#install-native-image).

## Crear un proyecto mediante el arquetipo
<a name="setup-graalvmnativeimage-project"></a>

Para crear un proyecto de Maven con soporte de imágenes nativo integrado, utilice el siguiente comando en una ventana de terminal o línea de comandos.

**nota**  
Sustituya `com.example.mynativeimageapp` por el espacio de nombres completo del paquete de su aplicación. Sustituya también `mynativeimageapp` por el nombre de su proyecto. Esto se convierte en el nombre del directorio del proyecto.

```
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
```

Este comando crea un proyecto de Maven configurado con dependencias para el AWS SDK para Java Amazon S3, y el `ApacheHttpClient` cliente HTTP. También incluye una dependencia para el [complemento GraalVM Native Image Maven](https://graalvm.github.io/native-build-tools/latest/index.html), para que pueda crear imágenes nativas con Maven.

Para incluir las dependencias de otro servicio Amazon Web Services, establezca el valor del `-Dservice` parámetro en el ID de artefacto de ese servicio. Entre los ejemplos se incluyen `dynamodb`, `comprehend` y `pinpoint`. Para obtener una lista completa de los artefactos IDs, consulta la lista de dependencias administradas de [software.amazon.awssdk](https://mvnrepository.com/artifact/software.amazon.awssdk/bom/latest) en Maven Central.

Para usar un cliente HTTP asíncrono, defina el parámetro `-DhttpClient` como `netty-nio-client`. Para usar `UrlConnectionHttpClient` como cliente HTTP asíncrono en lugar de `apache-client`, defina el parámetro `-DhttpClient` en `url-connection-client`.

## Crear una imagen nativa
<a name="build-graalvmnativeimage-project"></a>

Tras crear el proyecto, ejecute el siguiente comando desde el directorio del proyecto, por ejemplo `mynativeimageapp`:

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

Esto crea una aplicación de imagen nativa en el directorio `target`, por ejemplo, `target/mynativeimageapp`.