Configuración de un proyecto de imagen nativa de GraalVM para AWS SDK for Java 2.x
Con las versiones 2.16.1 y posteriores, AWS SDK for Java 2.x 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
-
Complete los pasos que se indican en Configuración del AWS SDK para Java 2.x.
-
Instalar GraalVM Native Image
.
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.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 cliente AWS SDK para Java, Amazon S3 y el ApacheHttpClient de HTTP. También incluye una dependencia para el complemento GraalVM Native Image 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
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.