Introducción al SDK de Azure y Gradle
En este artículo se muestra cómo usar Gradle para compilar aplicaciones con el SDK de Azure para Java. En este artículo, configurará un nuevo proyecto con Gradle, compilará proyectos con Gradle y usará las herramientas de imágenes nativas de GraalVM para crear archivos binarios nativos específicos de la plataforma.
Requisitos previos
- Kit para desarrolladores de Java, versión 8 o posterior. Se recomienda la versión 17 para obtener la mejor experiencia.
- Gradle
Creación de un proyecto de Gradle
A diferencia de Maven, Gradle no tiene un sistema de arquetipos para arrancar proyectos de forma de plantilla. Es posible arrancar un proyecto de Gradle, pero no configura el SDK de Azure para los detalles de Java, como el equivalente de Maven. Para realizar los pasos, use primero el siguiente comando para crear un directorio vacío nuevo desde la línea de comandos:
gradle init --type java-application
Se le pedirá que responda a una breve serie de preguntas, después de las cuales tiene un directorio que contiene una colección de archivos y subdirectorios. Para asegurarse de que los archivos generados se compilen, ejecute los siguientes comandos necesarios para comprobar la compilación:
gradle clean assemble test
Ahora puede pasar a editar el archivo build.gradle ubicado en el directorio de la aplicación. Para empezar, para simplificar la administración de versiones de dependencias, el equipo de Azure SDK para Java publica la BOM del cliente de Azure SDK para Java cada mes. Este archivo BOM incluye todos los paquetes de cliente de Azure SDK de Azure (GA) disponibles con carácter general para Java con su versión de dependencia compatible.
Para usar versiones de dependencia para una biblioteca cliente de Azure SDK para Java que se encuentra en la lista de materiales, incluya el siguiente fragmento de código en el archivo build.gradle del proyecto. Reemplace el {bom_version_to_target}
marcador de posición por la versión más reciente del SDK de Azure para Java BOM.
dependencies {
implementation platform('com.azure:azure-sdk-bom:{bom_version_to_target}')
}
Puede encontrar todas las versiones de la BOM del cliente de Azure SDK para Java en azure-sdk-bom. Se recomienda usar la versión más reciente para aprovechar las características más recientes de las bibliotecas cliente de Azure SDK para Java.
Una vez que haya empezado en función del SDK de Azure para Java BOM, puede incluir dependencias en bibliotecas sin especificar su versión. Estos valores de versión se buscan automáticamente en la lista de materiales de Azure SDK para Java. Por ejemplo, para incluir una azure-storage-blob
dependencia, agregue las siguientes líneas al archivo build.gradle :
dependencies {
implementation 'com.azure:azure-storage-blob'
}
El uso de Gradle para definir las dependencias del proyecto puede facilitar la administración de los proyectos. Con la lista de materiales del SDK de Azure, puede acelerar el proyecto mientras está más seguro sobre el control de versiones de dependencia a largo plazo. Se recomienda usar la lista de materiales para mantener las dependencias alineadas y actualizadas.
Incluir un paquete no en la lista de materiales
La BOM del cliente de Azure SDK para Java solo incluye bibliotecas disponibles con carácter general (GA). Si desea depender de un paquete que todavía está en versión beta o en una versión de biblioteca diferente de la incluida en la lista de materiales, puede especificar la versión de dependencia de Maven junto con y groupId
artifactId
en la sección de dependencias. Puede elegir tener dependencias que usen versiones de BOM y dependencias con versiones invalidadas en el mismo archivo POM del proyecto, como se muestra en el ejemplo siguiente:
dependencies {
// Use the dependency version that is in the BOM
implementation 'com.azure:azure-messaging-eventhubs'
// Override the Service Bus dependency version specified in the BOM
implementation 'com.azure:azure-messaging-servicebus:7.4.0'
}
Si usa este enfoque y especifica las versiones directamente en el proyecto, es posible que obtenga conflictos de versión de dependencia. Estos conflictos surgen porque diferentes paquetes pueden depender de diferentes versiones de dependencias comunes y es posible que estas versiones no sean compatibles entre sí. Cuando se producen conflictos, puede experimentar un comportamiento no deseado en tiempo de compilación o tiempo de ejecución. Se recomienda confiar en las versiones que se encuentran en la BOM del SDK de Azure a menos que sea necesario. Para más información sobre cómo tratar las dependencias al usar el SDK de Azure para Java, consulte Solución de problemas de conflictos de versiones de dependencia.
Creación de una imagen nativa con GraalVM
Puede usar GraalVM para crear una imagen nativa de una aplicación Java. GraalVM compila el código Java con antelación en código de máquina nativa, lo que puede producir mejoras drásticas en el rendimiento en determinadas situaciones. El SDK de Azure para Java proporciona los metadatos necesarios en cada una de sus bibliotecas cliente para admitir la compilación de imágenes nativas de GraalVM.
Para empezar, debe instalar GraalVM y preparar el sistema de desarrollo para compilar imágenes nativas. El proceso de instalación de GraalVM es sencillo y la documentación de GraalVM proporciona instrucciones paso a paso para instalar GraalVM y usar GraalVM para instalar imágenes nativas. Siga la sección de requisitos previos cuidadosamente para instalar los compiladores nativos necesarios para el sistema operativo.
Con el proyecto basado en Gradle existente, puede seguir las instrucciones de GraalVM para Gradle sobre cómo agregar compatibilidad con GraalVM al proyecto. Al hacerlo, tendrá más opciones de compilación, lo que le permite compilar la aplicación en el código de bytes estándar de Java o en una imagen nativa compilada por GraalVM.
A continuación, está listo para ejecutar una compilación de imagen nativa. Puede usar herramientas de Gradle estándar para usar la imagen nativa de GraalVM. Para Gradle, use el siguiente comando:
gradle nativeCompile
Después de ejecutar este comando, GraalVM genera un archivo ejecutable nativo para la plataforma en la que se ejecuta. El ejecutable aparece en el directorio Gradle /app/build/native/nativeCompile del proyecto. Ahora puede ejecutar la aplicación con este archivo ejecutable y debe realizar de forma similar a una aplicación Java estándar.