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)