Qu'est-ce que MOJO à Maven?

162

Je lis sur Maven en ce moment et partout dans un texte je vois ce mot (mojo). Je comprends à peu près ce que cela signifie, mais je ne refuserais pas une bonne explication. J'ai essayé de google, mais je n'ai trouvé que des explications non maven.

POJO - ok, mais MOJO? Maven Ancien objet Java?

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

Réponses:

167

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

Qu'est-ce qu'un Mojo? Un mojo est un ancien 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 des fonctionnalités que l'on ne trouve pas déjà dans maven.

Lynn en ruine
la source
61

Comme é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 objectif dans Maven, et chaque objectif correspond à un Mojo. L' compiler:compileobjectif correspond à la CompilerMojoclasse dans le plugin Maven Compiler, et l' jar:jarobjectif correspond à la JarMojoclasse dans le plugin Maven Jar. Lorsque vous écrivez votre propre plugin, vous regroupez simplement un ensemble de Mojos (ou objectifs) associés dans un seul artefact de plugin.

Un Mojo s'associe simplement à un objectif Maven, nous pouvons donc dire qu'un Mojo est bien plus qu'un simple objectif à Maven.

Venky Vungarala
la source
5
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.
marcv81
1
@ marcv81 Malheureusement, ce n'est pas non plus original; copier et coller directement à partir d'une autre source sans aucune attribution.
Lynn Crumbling
La honte. Toujours utile cependant.
marcv81
16

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

Mais une autre réponse différente chez Maven: la référence complète qui, je pense, appartient au même groupe de personnes qui gèrent le site Maven, suggère que Mojo est censé signifier POJO magique.

Javateer
la source
1
Je ne vois nulle part dans la page que "Magical POJO" est suggéré; si quoi que ce soit, la page définit ce que signifie mojo dans un contexte classique, pour dire «mais cela n'a rien à voir avec cette définition».
Lynn Crumbling
Le POJO magique est suggéré dans le dernier paragraphe du document lié (Maven: The Complete Reference):Mojo? What is a Mojo? The word mojo is defined as "a magic charm or spell", "an amulet, often in a small flannel bag containing one or more magic items", and "personal magnetism; charm". Maven uses the term Mojo because it is a play on the word Pojo (Plain-old Java Object).
codefan-BK
@ codefan-BK Si le site Maven dit que le M dans Mojo signifie Maven, pourquoi feriez-vous le saut en pensant que cela suggère que c'est à la Magical POGOplace? C'est déjà défini.
Lynn Crumbling
2
@Lynn Crumbling En prenant la définition en suivant le lien que vous avez fourni seul, votre réponse courte est exhaustive, en effet. Mais en ce qui concerne l'explication supplémentaire dans le deuxième lien donné par Javateer révèle que les personnes qui décidaient du nom Mojo pensaient également jouer avec le mot magique. Vous avez donc tous les deux raison, vous et Javateer. Les deux explications ne font qu'éclairer deux facettes d'un même sujet. Je ne ressens aucune contradiction ici, n'est-ce pas?
codefan-BK
2
  • MOJO ( M aven O ld J ava O bject) est un but à Maven.

  • Dans maven, tout se fait par plugin, un plugin a un ou plusieurs mojos liés c'est à dire des objectifs.

  • Mojo est une unité de tâche unique dans maven.

par exemple: elicpse:eclipsele plugin eclipse avec objectif eclipse est un MOJO

Premraj
la source