Saltar a contenido

Maven Wrapper


Maven Wrapper es un herramienta (wrapper) que nos va a permitir compilar un proyecto de desarrollo tipo Maven sin requerir nada instalado previamente, solo con la carpeta del proyecto que tenga esta herramienta es suficiente.

Referencias

Se recomienda leer los siguientes artículos:

Instalación

Se debe tener un proyecto de Maven previamente configurado y para integrar el Maven Wrapper con la ejecución del comando de mvn de la siguiente forma:

$ mvn -N io.takari:maven:wrapper -Dmaven=3.5.4
[INFO] Scanning for projects...
[INFO]
[INFO] ---------------< org.apache.maven:standalone-pom >-----------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ---------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- maven:0.6.0:wrapper (default-cli) @ standalone-pom ---
[INFO]
[INFO] The Maven Wrapper version 0.4.0 has been successfully ....
[INFO] Using Apache Maven 3.5.4
[INFO]
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] -------------------------------------------------------------------
[INFO] Total time: 1.973 s
[INFO] Finished at: 2018-08-02T01:26:47-05:00
[INFO] -------------------------------------------------------------------

Estructura

Con esto dentro de nuestro proyecto se van a crear la siguiente estructura

.mvnw        # Carpeta que contiene los archivos requeridos para el funcionamiento
mvnw         # Programa para compilar en OSX/Unix/Linux
mvnw.cmd     # Programa para compilar en Windows
Con esto tenemos lo requerido para que nuestro proyecto pueda compilar con solo copiar la carpeta del proyecto.

Uso

Para Windows / Linux solo es necesario teclear mvnw en lugar de mvn y todos sus comandos funcionaran naturalmente.

$ mvnw -version
Apache Maven 3.5.4 (...; 2018-06-17T13:33:14-05:00)
Maven home: /home/user/.m2/wrapper/dists.../apache-maven-3.5.4
Java version: 1.8.0_171, vendor: Oracle Corporation .../jre
Default locale: es_MX, platform encoding: UTF-8
OS name: "linux", version: "4.12-default", arch: "amd64", family: "unix"

Nota para Git

Se requiere cierto tratamiento para que el Git vea los archivos del wrapper, por lo que es necesario agregar en el archivo .gitignore la siguiente linea:

# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
!/.mvn/wrapper/maven-wrapper.jar