web-dev-qa-db-fra.com

Quelle est la différence entre "Maven Install" et "Maven Build" avec M2Eclipse?

J'ai essayé de rechercher les différences entre maven install et maven construites dans le plugin Eclipse m2e (si vous cliquez avec le bouton droit de la souris sur "Exécuter en tant que", vous les verrez), et je ne trouve toujours pas une bonne explication (I regardé à travers le document officiel aussi). Quelqu'un peut aider? D'après ce que je comprends actuellement:

  • maven install: construit et installe les artefacts dans le référentiel local
  • maven build: seulement construire mais pas installer? que veut dire installer alors?

En outre, lorsque vous extrayez un référentiel en ligne, effectuez-vous généralement une installation maven (pour tout installer, y compris les dépendances) afin d'exécuter le code?

22
RockTheStar

Tout d'abord, build est pas une phase dans les cycles de vie Maven standard, alors que install en est une. mvn install invoquera toutes les phases jusqu'à la phase install, qui consiste généralement à compiler le code source, à empaqueter le projet et à l'installer dans le référentiel local.

Pour être clair, nous parlons de ce que M2Eclipse montre dans la sélection "Run As". 

 enter image description here

Quelles sont toutes ces options? Tout d’abord, vous devez savoir que vous pouvez:

Configurer les "configurations d'exécution" personnalisées dans Eclipse

En allant à:

 enter image description here

Cela ouvrira une boîte de dialogue dans laquelle vous pourrez configurer ces configurations personnalisées.

 enter image description here

Vous pouvez créer une nouvelle configuration d'exécution "Maven Build", en lui donnant:

  • un nom: ce sera le nom unique de la configuration. Vous pouvez le nommer comme vous le souhaitez. Ci-dessus, il est nommé avec les objectifs qu'il invoquera.
  • le répertoire de base: ce sera le dossier dans lequel Maven sera appelé. Dans la capture d'écran ci-dessus, j'ai utilisé la variable Eclipse ${project_loc}, qui est automatiquement remplacée par le répertoire de base du projet actuellement sélectionné dans "l'Explorateur de projet". (Cela permet d’avoir une configuration unique pour plusieurs projets).
  • objectifs, profils potentiels et plusieurs options: toutes ces options constitueront la commande exacte à lancer. L'ajout d'un profil lancera Maven avec un attribut -P...; cocher "Update Snapshots" lancera Maven avec le drapeau -U, etc.

Alors, quelles sont toutes ces options "Run As"?

Maven installer

C’est simple: «Maven install» lancera l’installation Maven configurée dans Eclipse avec l’objectif install. Cela aura le même effet que d'exécuter la commande mvn install sur la ligne de commande, avec une installation Maven externe.

Les options "Maven generate-sources", "Maven test" ou "Maven clean" suivent en réalité la même idée: elles invoqueront directement Maven avec la phase generate-sources, la phase test ou la phase clean.

Maven construire ...

Cela ouvrira la boîte de dialogue précédente dans laquelle nous avons créé une nouvelle configuration d'exécution. M2Eclipse en créera un nouveau que vous pourrez remplir exactement comme ci-dessus. Vous pouvez le voir comme un raccourci pour la création de configurations d'exécution personnalisées "Maven Build".

Maven construire

Cela tentera de lancer les configurations d'exécution personnalisées configurées.

  • Si vous n’avez qu’une configuration d’exécution «Maven Build» personnalisée, elle sera lancée.
  • Si vous en avez plusieurs, il vous sera demandé de lancer celui qui suit:

     enter image description here

    Dans les captures d'écran ci-dessus, vous pouvez voir qu'il y avait 2 configurations d'exécution personnalisées "Création Maven", nommées clean et clean install. En tant que tel, cette fenêtre invite l'utilisateur à en sélectionner un.

Une fois que la configuration personnalisée "Maven Build" a été choisie, il appellera alors Maven avec les options de cette configuration d'exécution.

24
Tunaki

Dans un environnement de développement, utilisez l'appel suivant pour créer et installer des artefacts dans le référentiel local.

mVN installer 

Cette commande exécute chaque phase du cycle de vie par défaut dans l’ordre .__ (valider, compiler, package) avant d’exécuter l’installation.

0
Naveen K