Lorsque j'ai créé une application Spring Boot, j'ai pu voir les fichiers mvnw
et mvnw.cmd
à la racine du projet. Quel est l'objectif de ces deux fichiers ?
Réponses
Trop de publicités?Ces fichiers proviennent du 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. Il télécharge la version correcte de Maven si elle n'est pas trouvée (à ma connaissance, 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 du 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 que Maven soit sur le PATH
. Si vous avez déjà mvnw dans votre projet, vous pouvez utiliser ./mvnw
au lieu de mvn
dans les commandes.
La commande mvnw
utilise Maven qui est téléchargé par défaut dans ~/.m2/wrapper
lors de la première utilisation.
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 la commande suivante (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 PATH
), exécutez :
mvn io.takari:maven:wrapper -Dmaven=3.3.9