Introducción
Aunque hoy día existen muy buenos IDEs con numerosos plugins que permiten centrarse en el código y en el desarrollo de la propia aplicación, es útil también conocer qué hacen internamente y poder lanzar tareas de forma más cercana a cómo se haría en un entorno de producción.
Objetivo
Se trata de compilar y desplegar una aplicación Spring Boot con Maven utilizando los comandos correspondientes a Maven y Java.
Prerrequisitos
1. Tener instalado y configurado Java. Para comprobarlo, lanzamos el siguiente comando en una terminal:
| |
Que debe devolver una salida similar a la siguiente:
| |
2. Tener instalado y configurado Maven. Para ello, se puede seguir el siguiente artículo: Pasos para instalar Maven en Windows
3. Tener una aplicación Java que haga uso de Maven. Se puede usar la desarrollada en el siguiente artículo: Spring Boot Hello World
Compilar el proyecto
- Navegar hasta la ruta del proyecto donde está el fichero pom.xml
| |
- Limpiar y empaquetar usando el comando
mvn
| |
clean→ borra compilaciones previaspackage→ compila + ejecuta tests + genera el JAR
Si todo va bien, la consola mostrará un mensaje de ‘BUILD SUCCESS’.
Localización del artefacto
Si la compilación ha finalizado correctamente, se habrá generado el fichero jar dentro de la carpeta target dentro de la estructura de carpetas del proyecto. Pero en el caso de una aplicación Spring Boot, nos encontraremos con dos ficheros, un .jar y adicionalmente un .jar.original.

El .jar es el que debemos usar para desplegar, ya que contiene:
- El código de la aplicación compilado
- TODAS las dependencias
- El cargador de Spring Boot
- Un
Main-Classejecutable
El .jar.original por contra, no se usa para desplegar, ya que:
- Es el JAR “normal” de Maven
- Solo contiene el código compilado
- No incluye dependencias
- No es ejecutable
Lo que ha sucedido es Maven ha creado inicialmente el jar estándar SpringBootHelloWorld-0.0.1-SNAPSHOT.jar. Posteriormente, el plugin de Spring Boot lo renombra a SpringBootHelloWorld-0.0.1-SNAPSHOT.jar.original dejándolo como respaldo interno del proceso y realiza un reempaquetado generando el .jar que contiene todo lo necesario para que sea ejecutable.
Despliegue de la aplicación
Una vez localizado el fichero .jar se ejecuta mediante el comando java de la siguiente manera:
| |
Mostrando la consola algo similar a lo que se ve en la siguiente imagen.

Y en este caso, se podrá probar que la aplicación funciona accediendo a un navegador.

Conclusiones
Este enfoque permite comprender mejor el ciclo de construcción de una aplicación Java, identificar el artefacto correcto para su despliegue y ganar autonomía a la hora de ejecutar la aplicación en otros entornos.
Entender qué genera Maven y cómo Spring Boot reempaqueta el artefacto final es un paso fundamental antes de abordar escenarios más avanzados como el despliegue en contenedores Docker o en servidores de producción.