Czym jest MOJO w Maven?

162

Czytam teraz o Mavenie i wszędzie w tekście widzę to słowo (mojo). W przybliżeniu rozumiem, co to znaczy, ale nie odmówiłbym dobrego wyjaśnienia. Próbowałem google, ale znalazłem tylko nie-mavenowe wyjaśnienia.

POJO - ok, ale MOJO? Maven Old Java Object?

dnim
źródło
2
:) Jak zrozumiałem - w pewnym sensie - to tylko gra słów ...
dnim

Odpowiedzi:

167

Tak, z http://maven.apache.org/plugin-developers/index.html :

Co to jest Mojo? Mojo to zwykły stary obiekt Java Maven. Każde mojo jest wykonywalnym celem w Maven, a wtyczka to dystrybucja jednego lub więcej powiązanych mojo.

Krótko mówiąc, mojo jest celem maven, aby rozszerzyć funkcjonalność, której jeszcze nie ma w maven.

Lynn Crumbling
źródło
61

Jak napisano tutaj :

Wtyczka Mavena to artefakt Mavena, który zawiera deskryptor wtyczki i co najmniej jeden Mojos. Mojo można traktować jako cel w Maven, a każdy cel odpowiada Mojo. The compiler:compilegoal odpowiada tej CompilerMojoklasie w Maven Compiler wtyczki i jar:jarodpowiada celem tej JarMojoklasie w słoiku Maven Plugin. Kiedy piszesz własną wtyczkę, po prostu grupujesz zestaw powiązanych Mojo (lub celów) w jeden artefakt wtyczki.

Mojo po prostu kojarzy się z celem Mavena, więc możemy powiedzieć, że Mojo jest czymś więcej niż tylko celem w Maven.

Venky Vungarala
źródło
5
To zdecydowanie najlepsza odpowiedź. Przykro mi, że nie masz więcej głosów za! Pozostałe odpowiedzi nie dają więcej informacji niż to, co jest już w dokumentacji.
marcv81
1
@ marcv81 Niestety, jest również nieoryginalny; kopiować i wklejać bezpośrednio z innego źródła bez podania źródła.
Lynn Crumbling
Wstyd. Nadal przydatne.
marcv81
16

Witryna Maven twierdzi, że Mojo to połączenie „Maven” + „POJO (zwykły stary obiekt Java)”. Zatem MOJO = Maven Old Java Object.

Ale inna, inna odpowiedź w Maven: The Complete Reference, która, jak sądzę, pochodzi od tej samej grupy osób zarządzających witryną Maven, sugeruje, że Mojo ma oznaczać Magiczne POJO.

Javateer
źródło
1
Nie widzę nigdzie na stronie, gdzie sugerowana jest opcja „Magiczne POJO”; jeśli już, strona definiuje, co oznacza mojo w klasycznym kontekście, aby powiedzieć „ale to nie ma nic wspólnego z tą definicją”.
Lynn Crumbling
Magiczne POJO jest sugerowane w ostatnim akapicie 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).
dołączonego
@ codefan-BK Jeśli witryna Maven mówi, że M w Mojo oznacza Maven, dlaczego miałbyś przeskoczyć do myślenia, że ​​sugeruje, że jest Magical POGOzamiast tego? Jest już zdefiniowane.
Lynn Crumbling
2
@Lynn Crumbling Biorąc pod uwagę definicję podaną przez Ciebie samodzielnie, Twoja krótka odpowiedź jest rzeczywiście wyczerpująca. Ale jeśli chodzi o dodatkowe wyjaśnienie w drugim linku podanym przez Javateera, ujawnia, że ​​ludzie decydujący się na imię Mojo również myśleli, że będą bawić się słowem magiczny. Więc oboje macie rację, ty i Javateer. Oba wyjaśnienia rzucają światło na dwa aspekty tego samego tematu. Nie czuję tu żadnej sprzeczności, prawda?
codefan-BK
2
  • MOJO ( M aven O ld J ava O bject) jest celem w Maven.

  • W maven wszystko jest wykonywane przez wtyczkę, wtyczka ma jeden lub więcej powiązanych mojo, czyli celów.

  • Mojo to pojedyncza jednostka zadań w maven.

na przykład: elicpse:eclipsewtyczka eclipse z celem zaćmienia to MOJO

Premraj
źródło