Configurar un proyecto de imagen nativa de GraalVM para el AWS SDK for Java - AWS SDK for Java 2.x

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.

Configurar un proyecto de imagen nativa de GraalVM para el AWS SDK for Java

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

Requisitos previos

Crear un proyecto mediante el arquetipo

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.16.1 \ -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 cliente AWS SDK for Java, Amazon S3 y el ApacheHttpClient de HTTP. También incluye una dependencia para el complemento GraalVM Native Image Maven, para que pueda crear imágenes nativas con Maven.

Para incluir las dependencias de otro servicio Amazon Web Services, establezca el valor del parámetro -Dservice en el ID del artefacto de ese servicio. Entre los ejemplos se incluyen dynamodb, comprehend y pinpoint. Para obtener una lista completa de los identificadores de artefactos, consulte la lista de dependencias administradas de software.amazon.awssdk 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

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.