l">maven是当下最流行的项目管理工具,其丰富的插件为我们的工作带来了很大的便利。
但是在一些情况下,开源的插件并不能完全满足我们的需求,我们需要自己创建插件,本文就从0开始带大家一起创建自己的插件。
【命名规范】
首先,官方的命名规范是l">maven-xxx-plugin,为了避免于官方冲突,我们可以将自己的插件命名为xxx-maven-plugin。
【创建插件项目】
本项目使用idea创建。
我们首先需要创建一个Mojo(Maven plain Old Java Object)工程,如下图:
然后填写我们的项目名以及groupId:
然后我们可以设置自己的maven目录和settings的目录:
然后咱们可以看到项目下有一个默认创建的类MyMojo:
该类继承 AbstractMojo 这个抽象类,并实现了 execute() 方法,该方法就是用来定义这个 Mojo 具体操作内容,我们只需要根据自己的需要来编写自己的实现即可。
类里面默认实现了一个方法,可以创建一个文件,咱们为了理解起来更简单一点,修改得更简单一些:
我们依次解释一下图中红框框住的四个部分:
@goal------自定义 Maven 插件 Mojo 代码中唯一必须声明的标记,用来声明该 Mojo 的目标名称。
@phase------默认将该目标绑定到 default 生命周期的某个阶段。
图中的生命周期为程序运行期间。
每个Mojo类都需要继承AbstractMojo ,并实现其execute()方法。
getLog()是Mojo类默认的日志操作方法,直接调用可以使其在控制台输出相应内容。
【使用插件】
在test-maven-plugin中执行:
mvn clean install
执行成功之后,可以去本地库里面查看到生成的包:
然后我们打开另外一个项目,并在pom文件中添加:
<build>
<plugins>
<plugin>
<groupId>com.github.liufarui</groupId>
<artifactId>demo-maven-plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
</plugin>
</plugins>
</build>
然后执行:
mvn clean package
这时我们可以在右侧maven管理中看到我们的插件:
双击即可运行,可以在控制台看到我们的运行结果: