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:

1
java -version

Que debe devolver una salida similar a la siguiente:

1
2
3
openjdk version "25.0.1" 2025-10-21 LTS
OpenJDK Runtime Environment Temurin-25.0.1+8 (build 25.0.1+8-LTS)
OpenJDK 64-Bit Server VM Temurin-25.0.1+8 (build 25.0.1+8-LTS, mixed mode, sharing)

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

  1. Navegar hasta la ruta del proyecto donde está el fichero pom.xml
1
cd ruta/a/tu/proyecto
  1. Limpiar y empaquetar usando el comando mvn
1
mvn clean package
  • clean → borra compilaciones previas
  • package → 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.

Ficheros jar generados al compilar la aplicación con Maven

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-Class ejecutable

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:

1
java -jar target/SpringBootHelloWorld-0.0.1-SNAPSHOT.jar

Mostrando la consola algo similar a lo que se ve en la siguiente imagen.

Aplicación en ejecución tras lanzar el jar

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

Probando la aplicación en el 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.