Cuando creé una aplicación Spring Boot pude ver mvnwy mvnw.cmdarchivos en la raíz del proyecto. ¿Cuál es el propósito de estos dos archivos?
fuente
Cuando creé una aplicación Spring Boot pude ver mvnwy mvnw.cmdarchivos 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 envoltorio 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 (por lo que sé por defecto en su directorio de inicio de usuario).
El mvnwarchivo es para Linux (bash) y mvnw.cmdes para el entorno de Windows.
Para crear o actualizar todos los archivos necesarios de Maven Wrapper, ejecute el siguiente comando:
mvn -N io.takari:maven:wrapper
Para usar 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 experta en PATH(añadir la ruta a maven binque Pathen las variables del sistema) si ya tiene mvnw en su proyecto puede utilizar ./mvnwen lugar de mvnen los comandos.
mvncomando para la operación maven, aunque podría usarlo./mvnwpara el mismo propósito.Command
mvnwusa Maven que se descarga por defecto~/.m2/wrapperen el primer uso.La URL con Maven se especifica en cada proyecto en
.mvn/wrapper/maven-wrapper.properties:Para actualizar o cambiar la versión de Maven, invoque lo siguiente (recuerde
--non-recursivepara proyectos de varios módulos):o simplemente modificar
.mvn/wrapper/maven-wrapper.propertiesmanualmente.Para generar un envoltorio desde cero utilizando Maven (necesita tenerlo ya en
PATHejecución:fuente
El Maven Envoltura es una excelente opción para proyectos que necesitan una versión específica de Maven (o para los usuarios que no deseen instalar Maven en absoluto). En lugar de instalar muchas versiones de él en el sistema operativo, podemos usar el script de envoltura específico del proyecto.
mvnw: es un script ejecutable de shell Unix utilizado en lugar de un Maven completamente instalado
mvnw.cmd : es para el entorno de Windows
Casos de uso
El contenedor debería funcionar con diferentes sistemas operativos como:
Después de eso, podemos ejecutar nuestros objetivos de esta manera para el sistema Unix:
Y el siguiente comando para Batch:
Si no tenemos el Maven especificado en las propiedades del contenedor, se descargará e instalará en la carpeta
$USER_HOME/.m2/wrapper/distsdel sistema.Complemento Maven Wrapper
Complemento Maven Wrapper para realizar la instalación automática en un simple proyecto Spring Boot.
Primero, debemos ir a la carpeta principal del proyecto y ejecutar este comando:
También podemos especificar la versión de Maven:
La opción -N significa –no-recursivo para que el contenedor solo se aplique al proyecto principal del directorio actual, no en ningún submódulo.
fuente
Con mucho, la mejor opción hoy en día sería utilizar un contenedor Maven como herramienta de construcción. Un
mvn.shguión como este sería suficiente:fuente