179 votes

Qu'est-ce que MOJO dans Maven ?

Je suis en train de lire sur Maven en ce moment et partout dans un texte je vois ce mot (mojo). Je comprends approximativement ce que cela signifie, mais je ne refuserais pas une bonne explication. J'ai essayé de chercher sur Google, mais je n'ai trouvé que des explications non liées à Maven.

POJO - ok, mais MOJO? Maven Objet Java Obsolète?

2 votes

:) Comme je l'ai compris - dans un certain sens - c'est juste un jeu de mots...

190voto

Lynn Crumbling Points 4264

Oui, de http://maven.apache.org/plugin-developers/index.html:

Qu'est-ce qu'un Mojo? Un mojo est un objet Java ordinaire de Maven. Chaque mojo est un objectif exécutable dans Maven, et un plugin est une distribution d'un ou plusieurs mojos associés.

En bref, un mojo est un objectif maven, pour étendre les fonctionnalités non encore trouvées dans maven.

0 votes

Est-ce que "mojo" est juste un synonyme de "goal" dans la terminologie de Maven? Ou représentent-ils des entités différentes qui sont étroitement liées?

1 votes

@waldyrious Le "but" d'un "plugin" est un concept. Il est implémenté en utilisant un "mojo". Le "mojo", dans sa forme compilée, réside dans le jar correspondant du plugin. Même chose, différents niveaux d'abstraction.

72voto

Venky Vungarala Points 13

Tel qu'écrit ici :

Un Plugin Maven est un artefact Maven qui contient un descripteur de plugin et un ou plusieurs Mojos. Un Mojo peut être considéré comme un but dans Maven, et chaque but correspond à un Mojo. Le but compiler:compile correspond à la classe CompilerMojo dans le Plugin Compiler Maven, et le but jar:jar correspond à la classe JarMojo dans le Plugin Jar Maven. Lorsque vous écrivez votre propre plugin, vous regroupez simplement un ensemble de Mojos (ou buts) liés dans un seul artefact de plugin.

Un Mojo est simplement associé à un but Maven, donc on peut dire qu'un Mojo est bien plus qu'un simple but dans Maven.

5 votes

C'est de loin la meilleure réponse, je suis désolé que vous n'ayez pas plus de votes positifs! Les autres réponses ne donnent pas plus d'informations que ce qui est déjà dans la documentation.

1 votes

@marcv81 Malheureusement, c'est également non original; copié-collé directement d'une autre source sans aucune attribution.

0 votes

Honte. Toujours utile cependant.

16voto

Javateer Points 101

Le site Maven indique que Mojo est la combinaison de "Maven" + "POJO (Plain Old Java Object)". Ainsi, MOJO = Maven Old Java Object.

Mais une autre réponse, différente, sur Maven: The Complete Reference, qui, je pense, provient du même groupe de personnes que celles qui gèrent le site Maven, suggère que Mojo signifie Magical POJO.

1 votes

Je ne vois nulle part sur la page la suggestion de "Magical POJO"; si quoi que ce soit, la page définit ce que mojo signifie dans un contexte classique, pour dire "mais cela n'a rien à voir avec cette définition."

0 votes

La classe POJO magique est suggérée dans le dernier paragraphe du document lié (Maven: The Complete Reference) : Mojo? Qu'est-ce qu'un Mojo? Le mot mojo est défini comme "un charme ou un sort magique", "un amulette, souvent dans un petit sac en flanelle contenant un ou plusieurs objets magiques", et "un magnétisme personnel; le charme". Maven utilise le terme Mojo car c'est un jeu de mots sur le mot Pojo (Plain-old Java Object).

0 votes

@codefan-BK Si le site Maven indique que le M dans Mojo signifie Maven, pourquoi en arriver à penser qu'il suggère que c'est Magical POGO à la place? C'est déjà défini.

4voto

premraj Points 120
  • MOJO (Maven Old Java Object) est un objectif dans Maven.

  • Dans Maven, tout est fait par des plugins, un plugin a un ou plusieurs MOJOs associés, c'est-à-dire des objectifs.

  • MOJO est l'unité unique de tâche dans Maven.

par exemple : elicpse:eclipse le plugin eclipse avec l'objectif eclipse est un MOJO

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