第17章 编写Maven插件
本章内容
编写Maven插件的一般步骤
案例:编写一个用于代码行统计的Maven插件
Mojo标注
Mojo参数
错误处理和日志
测试Maven插件
小结
本书第7章已经讲过,Maven的任何行为都是由插件完成的,包括项目的清理、编译、测试以及打包等操作都有其对应的Maven插件。每个插件拥有一个或者多个目标,用户可以直接从命令行运行这些插件目标,或者选择将目标绑定到Maven的生命周期。
大量的Maven插件可以从Aapche[1]和Codehaus[2]获得,这里的近百个插件几乎能够满足所有Maven项目的需要。除此之外,还有很多Maven插件分布在Googlecode、Sourceforge、Github等项目托管服务中。因此,当你发现自己有特殊需要的时候,首先应该搜索一下看是否已经有现成的插件可供使用。例如,如果想要配置Maven自动为所有Java文件的头部添加许可证声明,那么可以通过关键字maven plugin license找到maven-license-plugin[3],这个托管在Googlecode上的项目完全能够满足我的需求。
在一些非常情况下(几率低于1%),你有非常特殊的需求,并且无法找到现成的插件可供使用,那么就只能自己编写Maven插件了。编写Maven插件并不是特别复杂,本章将详细介绍如何一步步编写能够满足自己需要的Maven插件。