Lorsque j'ai créé une application Spring Boot, j'ai pu voir les fichiers mvnw
et mvnw.cmd
à la racine du projet. Quel est le but de ces deux fichiers ?
Réponses
Trop de publicités?Ces fichiers sont issus de Maven wrapper. Il fonctionne de manière similaire au Gradle wrapper.
Cela vous permet d'exécuter le projet Maven sans avoir Maven installé et présent dans le chemin d'accès. Il télécharge la version Maven correcte s'il n'est pas trouvée (si je ne me trompe pas, par défaut dans le répertoire de votre utilisateur).
Le fichier mvnw
est pour Linux (bash) et le fichier mvnw.cmd
est pour l'environnement Windows.
Pour créer ou mettre à jour tous les fichiers nécessaires de Maven Wrapper, 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 sur le PATH
, si vous avez déjà le mvnw dans votre projet, vous pouvez utiliser ./mvnw
à la place de mvn
dans les commandes.
La commande mvnw
utilise Maven qui est téléchargé par défaut dans ~/.m2/wrapper
lors du premier usage.
L'URL avec Maven est spécifiée dans chaque projet à .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
Pour mettre à jour ou changer la version de Maven, invoquez ce qui suit (n'oubliez pas --non-recursive
pour les projets multi-modules):
./mvnw io.takari:maven:wrapper -Dmaven=3.3.9
ou modifiez simplement .mvn/wrapper/maven-wrapper.properties
manuellement.
Pour générer un wrapper à partir de zéro en utilisant Maven (vous devez déjà l'avoir dans votre PATH
exécutez:
mvn io.takari:maven:wrapper -Dmaven=3.3.9