357 votes

Quels sont les objectifs et les phases de Maven et quelle est leur différence ?

Quelle est la différence/la relation entre les objectifs et les phases de Maven ? Comment sont-ils liés les uns aux autres ?

3 votes

Questions et réponses répondu à sur Maven : Cycle de vie vs. phase vs. plugin vs. objectif (une fois de plus).

1 votes

15voto

Crédit à Sandeep Jindal et Premraj. Leurs explications m'ont aidé à comprendre après avoir été confus à ce sujet pendant un certain temps.

J'ai créé quelques exemples de code complets et quelques explications simples ici. https://www.surasint.com/maven-life-cycle-phase-and-goal-easy-explained/ . Je pense que cela peut aider les autres à comprendre.

En résumé du lien, vous ne devriez pas essayer de comprendre les trois à la fois, vous devriez d'abord comprendre la relation dans ces groupes :

  • Cycle de vie ou phase
  • Plugin et objectif

1. Cycle de vie et phase

Cycle de vie est une collection de phase dans l'ordre voir ici Références sur le cycle de vie . Lorsque vous appelez un phase il appellera également tous les phase avant elle.

Par exemple, le cycle de vie propre a 3 phases ( pré-nettoyage, nettoyage, post-nettoyage ).

mvn clean

Il appellera pré-nettoyage et nettoyer .

2. Plugin et objectif

Objectif est comme une action dans Plugin . Donc si plugin est une classe, goal est une méthode.

vous pouvez appeler un but comme ceci :

mvn clean:clean

Cela signifie "appeler le but propre, dans le plugin propre" (Rien ne concerne la phase propre ici. Ne laissez pas le mot "clean" vous dérouter, ce n'est pas la même chose !)

3. Maintenant, la relation entre la phase et le but :

Phase peut (pré)lier à Objectif (Par exemple, normalement, la phase de nettoyage est liée à l'objectif de nettoyage. Donc, quand vous appelez cette commande :

mvn clean

Il appellera la phase de pré-nettoyage et la phase de nettoyage qui est liée à l'objectif de nettoyage:nettoyage.

C'est presque la même chose que :

mvn pre-clean clean:clean

Vous trouverez plus de détails et des exemples complets dans https://www.surasint.com/maven-life-cycle-phase-and-goal-easy-explained/

2voto

Venky Vungarala Points 13

Terminologie de travail Maven ayant des phases et des objectifs.

Phase : La phase de Maven est un ensemble d'actions associées à 2 ou 3 objectifs.

exmaple:- si vous lancez mvn clean

c'est la phase qui va exécuter le but mvn clean:clean

Goal:Objectif Maven lié à la phase

pour référence http://books.sonatype.com/mvnref-book/reference/lifecycle-sect-structure.html

4 votes

Il n'est pas nécessaire que ce soit "associé à 2 ou 3 objectifs" nécessairement. Elle peut être aucun , un ou plus de trois également.

1voto

Vishrant Points 1549

Il existe trois cycles de vie de construction intégrés :

  • par défaut
  • nettoyer
  • site

Cycle de vie par défaut -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]

Cycle de vie propre -> [pré-nettoyage, nettoyage, post-nettoyage]

Site du cycle de vie -> [pré-site, site, post-site, site-déploiement]

Le déroulement est séquentiel, par exemple pour par défaut le cycle de vie, il commence par valider alors initialiser et ainsi de suite...

Vous pouvez vérifier le cycle de vie en activant le mode débogage de la fonction mvn c'est-à-dire, mvn -X <your_goal>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X