我现在正在阅读有关 Maven 的信息,并且在我看到这个词 (mojo) 的文本中到处都是。我大致了解它的含义,但我不会拒绝一个好的解释。我试图用谷歌搜索,但只找到了非 Maven 的解释。
POJO - 好的,但是 MOJO?Maven 旧 Java 对象?
我现在正在阅读有关 Maven 的信息,并且在我看到这个词 (mojo) 的文本中到处都是。我大致了解它的含义,但我不会拒绝一个好的解释。我试图用谷歌搜索,但只找到了非 Maven 的解释。
POJO - 好的,但是 MOJO?Maven 旧 Java 对象?
是的,来自http://maven.apache.org/plugin-developers/index.html:
什么是魔力?mojo 是一个 Maven 普通的旧 Java 对象。每个 mojo 都是 Maven 中的一个可执行目标,一个插件是一个或多个相关 mojo 的分发。
简而言之,mojo 是一个 maven 目标,用于扩展 maven 中尚未找到的功能。
如此处所写:
Maven 插件是一个 Maven 工件,它包含一个插件描述符和一个或多个 Mojo。一个 Mojo 可以被认为是 Maven 中的一个目标,每个目标都对应一个 Mojo。
compiler:compile
目标对应CompilerMojo
Maven Compiler Plugin中的类,jar:jar
目标对应JarMojo
Maven Jar Plugin中的类。当您编写自己的插件时,您只是将一组相关的 Mojo(或目标)组合到一个插件工件中。
Mojo 只是与 Maven 目标相关联,因此我们可以说 Mojo 不仅仅是 Maven 中的目标。
Maven 网站说 Mojo 是“Maven”+“POJO(普通旧 Java 对象)”的组合。那么,MOJO = Maven 旧 Java 对象。
但是 Maven 的另一个不同的答案:我认为来自管理 Maven 站点的同一组人的完整参考表明 Mojo 意味着神奇的 POJO。
MOJO ( M aven O ld J ava O bject) 是 Maven 中的一个目标。
在 maven 中,一切都是由插件完成的,一个插件有一个或多个相关的 mojo 即目标。
Mojo 是 maven 中的单个任务单元。
例如:elicpse:eclipse
以 eclipse 为目标的 eclipse 插件是一个 MOJO