Lorsque j'ai créé une application Spring Boot, je pouvais voir mvnw
et les mvnw.cmd
fichiers à la racine du projet. Quel est le but de ces deux fichiers?
la source
Lorsque j'ai créé une application Spring Boot, je pouvais voir mvnw
et les mvnw.cmd
fichiers à la racine du projet. Quel est le but de ces deux fichiers?
Ces fichiers proviennent du wrapper Maven . Il fonctionne de manière similaire à l' emballage Gradle .
Cela vous permet d'exécuter le projet Maven sans que Maven soit installé et présent sur le chemin. Il télécharge la bonne version de Maven si elle n'est pas trouvée (pour autant que je sache par défaut dans votre répertoire personnel).
Le mvnw
fichier est pour Linux (bash) et l' mvnw.cmd
est pour l'environnement Windows.
Pour créer ou mettre à jour tous les fichiers Wrapper Maven nécessaires, exécutez la commande suivante:
mvn -N io.takari:maven:wrapper
Pour utiliser une version différente de maven, vous pouvez spécifier la version comme suit:
mvn -N io.takari:maven:wrapper -Dmaven=3.3.3
Les deux commandes nécessitent maven on PATH
(ajoutez le chemin d'accès à maven bin
to Path
sur les variables système) si vous avez déjà mvnw dans votre projet, vous pouvez utiliser ./mvnw
plutôt que mvn
dans les commandes.
mvn
commande pour le fonctionnement de maven même si je pouvais l'utiliser./mvnw
dans le même but.La commande
mvnw
utilise Maven qui est par défaut téléchargé sur~/.m2/wrapper
lors de la première utilisation.L'URL avec Maven est spécifiée dans chaque projet à
.mvn/wrapper/maven-wrapper.properties
:Pour mettre à jour ou changer la version de Maven, appelez les éléments suivants (rappelez-vous
--non-recursive
pour les projets multi-modules):ou simplement modifier
.mvn/wrapper/maven-wrapper.properties
manuellement.Pour générer un wrapper à partir de zéro à l'aide de Maven (vous devez l'avoir déjà en cours d'
PATH
exécution:la source
Le Maven Wrapper est un excellent choix pour les projets qui ont besoin d'une version spécifique de Maven (ou pour les utilisateurs qui ne veulent pas installer Maven du tout). Au lieu d'en installer de nombreuses versions dans le système d'exploitation, nous pouvons simplement utiliser le script d'encapsulation spécifique au projet.
mvnw: c'est un script shell Unix exécutable utilisé à la place d'un Maven entièrement installé
mvnw.cmd : c'est pour l'environnement Windows
Cas d'utilisation
L'encapsuleur doit fonctionner avec différents systèmes d'exploitation tels que:
Après cela, nous pouvons exécuter nos objectifs comme ceci pour le système Unix:
Et la commande suivante pour Batch:
Si nous n'avons pas le Maven spécifié dans les propriétés du wrapper, il sera téléchargé et installé dans le dossier
$USER_HOME/.m2/wrapper/dists
du système.Plugin Maven Wrapper
Plugin Maven Wrapper pour effectuer l'installation automatique dans un simple projet Spring Boot.
Tout d'abord, nous devons aller dans le dossier principal du projet et exécuter cette commande:
On peut également spécifier la version de Maven:
L'option -N signifie –non récursif de sorte que l'encapsuleur ne sera appliqué qu'au projet principal du répertoire courant, pas dans aucun sous-module.
la source
De loin, la meilleure option de nos jours serait d'utiliser un conteneur Maven comme outil de création. Un
mvn.sh
script comme celui-ci suffirait:la source