web-dev-qa-db-fra.com

Les fichiers mvnw doivent-ils être ajoutés au référentiel?

Lors de la création de projets Spring-Boot en utilisant start.spring.io , certains fichiers wrapper maven sont inclus:

  • mvnw
  • mvnw.bat

Faut-il ignorer les fichiers lors de la validation d'un dépôt git?

15
Titulum

Un script wrapper Maven mvnw vous permet d'exécuter une commande Maven sans que Maven soit installé et présent sur votre PATH. Il le fait en recherchant Maven sur votre PATH et, s'il n'est pas trouvé, il télécharge et installe Maven dans un emplacement par défaut (votre répertoire personnel, IIRC).

Ils sont pratiques, mais ils ne font pas nécessairement partie de votre projet, pas de la même manière que le code et la configuration de votre projet. En d'autres termes:

  • Tout fichier mnvw donné peut être utilisé pour plusieurs projets non liés
  • Un fichier mnvw ne sera certainement pas différent d'une version de votre projet à une autre

Sur cette base, vous pouvez justifier sans commettremvnw dans votre référentiel de code.

Cependant, l'inclusion d'un script mvnw dans votre référentiel présente les avantages suivants:

  • Permet à toute personne qui clone/extrait votre référentiel de construire votre projet sans avoir à installer Maven au préalable.
  • Garantit que la version de Maven utilisée est la version avec laquelle votre projet est compatible.

Sur cette base, vous pouvez plaider en faveur de validationmvnw dans votre référentiel de code.

Il y a donc des avantages et des inconvénients des deux côtés. Choisissez simplement le côté qui correspond le mieux aux besoins de ceux qui utiliseront votre repo. Soit:

  • Incluez quelque chose dans votre fichier Lisez-moi qui indique clairement que (a) Maven est une condition préalable et (b) quelle version de Maven est requise.

... ou:

  • Incluez un script mvnw.
22
glytching

Cela dépend si vous souhaitez utiliser le wrapper Maven ou non. Sinon, vous pouvez supprimer ces fichiers. Si vous souhaitez l'utiliser, vous devez valider les fichiers dans le référentiel, sinon cela n'a aucun sens de l'utiliser.

3
dunni