一直在使用Maven,用了各种各样的插件,但是有时候没有的话,还是需要自己写点。写一个插件并不难,会写插件的另一个好处就是了解了更多的Maven工作机制的内幕。对更好的使用Maven有帮助。
首先创建一个Maven项目,名叫plugin-example1。
这里要理解一个术语:mojo,就是Maven Plain Old Java Object,也就是一个普通的Java类。
我们需要mojo的api库,所以在pom.xml中添加一个依赖:
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>2.0</version>
</dependency>
</dependencies>
创建一个Example类,继承于AbstractMojo,实现execute方法。
代码很简单:
public class Example extends AbstractMojo{
public void execute() throws MojoExecutionException, MojoFailureException {
getLog().info("Hello world");
}
}
getLog()获取的是AbstractMojo内部的log,类型是:org.apache.maven.plugin.logging.Lo