maven-archetype-mojo和maven-archetype-plugin有什么区别?

时间:2014-01-21 19:42:11

标签: java maven maven-3 maven-plugin

运行命令mvn archetype:generate > a.txt

的输出中的片段
332: remote -> org.apache.maven.archetypes:maven-archetype-mojo (An archetype which contains a sample a sample Maven plugin.)
333: remote -> org.apache.maven.archetypes:maven-archetype-plugin (An archetype which contains a sample Maven plugin.)

运行以下命令生成几乎相同的pom文件和Java源类:

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app-plugin -DarchetypeArtifactId=maven-archetype-plugin -DinteractiveMode=false

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app-mojo -DarchetypeArtifactId=maven-archetype-mojo -DinteractiveMode=false

那么maven-archetype-mojomaven-archetype-plugin之间有什么区别?这些中的任何一个都会生成一个示例插件项目吗?为什么我们两个都有?

1 个答案:

答案 0 :(得分:3)

没有区别。 Maven Mojo是一款极简Maven插件。

  

什么是Mojo? mojo是Maven普通的旧Java对象。每个mojo都是Maven中的可执行目标,插件是一个或多个相关mojos的分布。

我认为我们不需要两者,只是Maven世界中的一些混乱:)