创建第一个插件
0. 约束
在创建插件之前,MAVEN官网有个重要的约束,应该所有自定义插件的开发者都应该遵循此约束。
Apache Maven 维护的统一的命名约束为:maven-<yourplugin>-plugin
用户自定义插件命名约束:<yourplugin>-maven-plugin
所以在写插件之前,请记住不要把请不要起maven开头的名字
1. 添加依赖
首先创建一个Maven
项目,在pom.xml
中,添加以下依赖,并声明打包方式为packaging
更改打包方式
<packaging>maven-plugin</packaging>
添加依赖:
<!--api依赖-->
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.0</version>
</dependency>
<!--注解支持-->
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.4</version>
<scope>provided</scope>
</dependency>
2. 创建插件类
自定义一个类型,并继承这个抽象类:AbstractMojo
即可。最后还要用@Mojo
声明一下,插件名(goal)。
GreetingMojo.java
@Mojo(name = "demo")
public class GreetingMojo extends AbstractMojo
{
public void execute() throws MojoExecutionException, MojoFailureException {
System.out.println("很简单的demo");
}
}
3. 打包使用
是的,就是这么简单,接下来就可以打包使用了。
把插件打包到本地: mvn install
在另外的项目中引用该插件:
<build>
<plugins>
<plugin>
<groupId>cn.wenhaha</groupId>
<artifactId>demo-maven-plugin</artifactId>
<version>1.0-SNAPSHOT</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>demo</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
引用文件说明
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>demo</goal>
</goals>
</execution>
</executions>
这一块可能比较陌生,其意代表在执行mvn install
的时候,会自动执行goals
里的插件,即我们刚刚写的demo
插件,具体相关可以查阅MAVEN
的生命周期,也可以直接查看之前的一篇文章: 点我直达
https://maven.apache.org/guides/plugin/guide-java-plugin-development.html