Spring Boot with Gradle Wrapper
Tabla de contenido
Aquí vamos a aprender el comando básico para construir y ejecutar la aplicación Spring Boot con Gradle Wrapper
Para este post, suponemos que hemos iniciado un proyecto en Spring Boot con gradle.
El ‘wrapper’ de Gradle #
Puedes usar Gradle sin instalarlo en su computadora. Gradle wrapper (gradlew) es un script que puede agregar a su proyecto para ejecutarlo y compilarlo sin instalaciones externas.
Con Gradle Wrapper puedes:
- Incluir a Gradle en su proyecto sin instalaciones externas.
- Cambiar la versión de Gradle para su proyecto sin afectar a otros proyectos.
- Añadir Gradle al control de versiones del sistema.
- Utilizar la versión correcta de Gradle para su proyecto.
Qué es y porqué Gradle? #
Gradle se utiliza para compilar, ejecutar pruebas y construir tu aplicación.
Gradle proporciona una manera fácil de crear tareas y ejecutarlas para llevar a cabo diferentes pasos en un modo ordenado y controlado.
Al mismo tiempo, Gradle proporciona un sólido sistema de dependencias.
Algunas de las mejores características de Gradle son:
- Performance: es más rápido y tiene optimizaciones continuas.
- JVM: Gradle se ejecuta en JVM y utiliza la API estándar de Java.
- Extensibilidad: Gradle proporciona tareas predefinidas, pero también puede proporcionar sus propias tareas.
- Soporte de IDE’s: Android Studio, IntelliJ, Eclipse, etc. tienen soporte de Gradle
- Convención: Gradle utiliza convenciones que le permiten adoptar rápidamente este sistema de construcción.
- Información (Insight): proporciona información detallada que puedes usar para entender lo que sucede con tu compilación.
Carpetas y archivos de Gradle #
En un proyecto Spring Boot con el sistema de compilación Gradle, tenemos estas carpetas y archivos:
- carpeta gradle: con el código Gradle compilado
- build.gradle file: este es su propio archivo principal. Editamos este archivo para crear nuestras propias tareas y añadir dependencias.
- archivo gradlew: script bash para ejecutar Gradle en Linux
- gradle.bat file: script batch para ejecutar Gradle en Windows
- setting.gradle file: otros ajustes como el nombre del proyecto
El archivo build.gradle #
Dentro del archivo build.gradle, podemos observar estas secciones
plugins: proporcionan funcionalidades como compilar código Java, ejecutar Spring Boot y establecer la estructura del proyecto.
group: el grupo del que formará parte este proyecto.
version: la versión actual del proyecto.
sourceCompatibility: la compatibilidad con la versión Java.
repositories: la sección del repositorio es el lugar desde el que indicamos desde dónde queremos descargar las dependencias
dependencies: la sección de dependencias es donde escribimos las dependencias que requerimos para nuestro proyecto.
task: una tarea es una secuencia de acciones con su nombre.
Plugins que necesitas en un proyecto Spring Boot #
- Spring Boot: este plugin te permite ejecutar aplicaciones Spring Boot y crear un paquete ejecutable o archivos de guerra.
- Spring dependency management: este es un práctico plugin que importará automáticamente las spring-boot-dependencies desde la versión de Spring Boot que esté utilizando. Te permite saltar números de versión cuando declaras dependencias.
- Java: este plugin proporciona todas las actividades necesarias para un proyecto Java como compilación, pruebas y capacidades de construcción.
plugins{
id 'org.springframework.boot' version '2.7.3'
id 'io.spring.dependency-management' version '1.0.13.RELEASE'
id 'java'
}
Comandos principales para Spring Boot y Gradle #
Podemos ver un breve resumen de Gradle con información sobre la versión que tenemos en nuestro proyecto.
Linux ./gradlew
Windows gradlew.bat
Ejecutamos el comando gradlew tasks para saber qué tareas tenemos.
Si queremos más detalles para una tarea específica, podemos ejecutar ./gradlew help –task
Por ejemplo ./gradlew help –task bootRun
Las tareas principales con Gradle en un proyecto Spring Boot #
Para realizar estas tareas, necesitamos los plug-ins que ya mencionamos anteriormente.
plugins{
id 'org.springframework.boot' version '2.7.3'
id 'java'
}
Ejecutar el proyecto de Spring Boot → gradlew bootRun
Con este comando, iniciamos nuestra aplicación en el puerto por default 8080.
Construir el proyecto de Spring Boot → gradlew build
Puedes ejecutar gradlew build -i para ver más información.
Este comando ejecutará varias tareas como configurar, descargar dependencias, compilar clases Java, ejecutar pruebas y crear archivos “jar”.
Los archivos jar ejecutables se pueden encontrar con el nombre y la versión en la carpeta build/libs. También puede ver dentro de la carpeta build las subcarpetas con las clases compiladas, las dependencias externas y los resultados de las pruebas.
Esto crea un archivo ejecutable Java jar.
El nombre proviene del archivo settings.gradle y la versión proviene de build.gradle
Limpia el proyecto de Spring Boot → gradlew clean
Este comando remueve la carpeta build.
Ejecutar Tests del proyecto Spring Boot → gradlew test
Esta tarea ejecutará todos los test en tu proyecto.
./gradlew test -i (el parámetro “-i” agrega mas información en la salida de la consola)
Observa que en la consola tenemos los resultados del test y un informe HTML con un buen detalle.
Si abrimos el archivo index.html en esta ubicación, podemos ver el informe.
Este informe es muy completo y puede ayudarte si tienes muchas pruebas ejecutadas.
Conclusión: #
Este post nos enseñó cómo ejecutar, construir y ejecutar pruebas en un proyecto Spring Boot con Gradle. Gradle es excelente en la gestión y construcción de tus proyectos con Spring Boot.
Referencias:
Spring Boot Gradle Plugin Reference Guide
The Java Plugin (gradle.org)