¿Cuál es el propósito de los archivos mvnw y mvnw.cmd?
Cuando creé una aplicación Spring Boot pude ver mvnw
archivos mvnw.cmd
en la raíz del proyecto. ¿Cuál es el propósito de estos dos archivos?
Estos archivos son del contenedor Maven . Funciona de manera similar al contenedor Gradle .
Esto le permite ejecutar el proyecto Maven sin tener Maven instalado y presente en la ruta. Descarga la versión correcta de Maven si no se encuentra (hasta donde yo sé, de forma predeterminada en el directorio de inicio de su usuario).
El mvnw
archivo es para Linux (bash) y mvnw.cmd
es para el entorno Windows.
Para crear o actualizar todos los archivos Maven Wrapper necesarios, ejecute el siguiente comando:
mvn -N io.takari:maven:wrapper
Para utilizar una versión diferente de maven, puede especificar la versión de la siguiente manera:
mvn -N io.takari:maven:wrapper -Dmaven=3.3.3
Ambos comandos requieren maven activado PATH
(agregue la ruta a maven bin
a Path
las Variables del sistema). Si ya tiene mvnw en su proyecto, puede usarlo ./mvnw
en lugar de mvn
en los comandos.
El comando mvnw
utiliza Maven que se descarga de forma predeterminada ~/.m2/wrapper
en el primer uso.
La URL con Maven se especifica en cada proyecto en .mvn/wrapper/maven-wrapper.properties
:
distributionUrl=https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.3.9/apache-maven-3.3.9-bin.zip
Para actualizar o cambiar la versión de Maven, invoque lo siguiente (recuerde esto --non-recursive
para proyectos de múltiples módulos):
./mvnw io.takari:maven:wrapper -Dmaven=3.3.9
o simplemente modificar .mvn/wrapper/maven-wrapper.properties
manualmente.
Para generar un contenedor desde cero usando Maven (debe tenerlo ya en PATH
ejecución:
mvn io.takari:maven:wrapper -Dmaven=3.3.9