原文链接:
http://clojure.iteye.com/blog/1124188
另一篇文章
http://blog.csdn.net/csfreebird/article/details/7709109
常用maven插件列表
http://www.cnblogs.com/crazy-fox/archive/2012/02/09/2343722.html
一直想学习下maven插件,可是没有中文文档。只好去官网上找了。居然看到一个插件开发指南。想我英语就停留在初中水品居然看懂了。
闲话说完。用Maven开发一个插件我觉得分以下几步:
1、添加maven-plugin-api依赖。
2、写个类来实现AbstractMojo。
3、编译安装自己的插件。
4、测试写好的插件。
一、新建个maven项目,添加依赖。
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.0.3</version>
</dependency>
二、实现AbstractMojo抽象类
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
/**
* Says "Hi" to the user.
* @goal sayhi
*/
public class GreetingMojo extends AbstractMojo
{
public void execute() throws MojoExecutionException
{
getLog().info("Hello, world.");
}
}
三、在命令行执行:mvn clean instal。则插件编译打包到本地仓库中。
四、测试完成的插件。
1、在插件本项目或者其他maven项目中添加写好的插件:
<build>
...
<plugin>
<groupId>com.test</groupId>
<artifactId>plugin-hello</artifactId>
<version>1.0</version>
</plugin>
...
</build>
2、在命令行运行。
mvn groupID:artifactID:version:goal
例如:mvn com.test:plugin-hello:1.0:sayhi
总体的调用感觉就和直接运行java Test这样调用Test类的main方法一样。实现原理可能是通过groupID:artifactID:version这三个坐标找到具体的插件包,然后扫描注解为@goal的,如果找到匹配的话就自动运行execute方法。(没去看源码,只是猜测的实现原理)