开发自己的Maven插件之四:基本概念
前面三节已经能够开发并使用一个简单的Maven plugin。
本节停留一下,梳理一下基本概念。
1.用向导创建
mvn archetype:create -DgroupId=com.freebird -DartifactId=plugin-example1 -DarchetypeArtifactId=maven-archetype-mojo
当然,懂得手动创建的原理仍然很重要。不要被便捷的工具屏蔽了底层的实现。
2.Mojo
一个Maven Plugin至少需要一个Mojo类,该类继承了AbstractMojo类,并实现了自己的execute方法
3.annotation
前面的例子中,Mojo类的注释里面可以包含@开始的annotation,描述该类支持的goal,当然还有更多。比如:
掌握了这个信息以后,我们用别的plugin,想了解它实现了多少个goal,可以通过两个途径:
1.到官方站点查看文档,顺便看看这个plugin的java doc
这种方式比较方便,但是有时候官方站点的文档比较老旧,而java doc分散在各个mojo类里面,看起来也不是一目了然
2.下载jar包,解压后,查看plugin.xml
比如:maven-plugin-plugin-3.0.jar包里面的plugin.xml就包含了xdoc,help,report,descriptor,updateRegistry,addPluginArtifactMetdata和helpmojo 7个goals.
这种方式看正在使用的某个版本的plugin比较方便。
javadoc annotation和descriptor的列表参考下面的文档:
http://maven.apache.org/developers/mojo-api-specification.html#The_Descriptor_and_Annotations