Java Maven高级之插件开发详解

前言

终于来到了Maven的插件开发,其实Maven的插件并没有想象的那么难,刚开始讲Maven基础的时候就演示了一下JDK是如何打包的,Maven打包只是在JDK打包上封装了一层而已,Maven也支持自定义插件开发

创建

我们先使用quickstart原型创建出一个Maven项目,在pom.xml里面引入一下依赖:


   org.apache.maven
   maven-plugin-api
   provided
   3.0


   org.apache.maven.plugin-tools
   maven-plugin-annotations
   3.4
   provided

添加好依赖后,需修改packaging打包方式:

maven-plugin

 之前也讲过packaging有哪几种方式,大家可以各自去在下的上篇博客看看

自定义插件

先创建一个类CleanTestPlugin,继承AbstractMojo,这个抽象类是Maven插件开发需实现的一个类,然后实现里面的execute方法

Java Maven高级之插件开发详解_第1张图片

 然后打包并且安装到本地仓库上(命令:mvn clean install)

安装好后,可以在命令行中输入:

Java Maven高级之插件开发详解_第2张图片

 就能看到打印的日志了。

如果想要在插件中打包时传入参数,也是可以支持,这里就写出几个示例:

Java Maven高级之插件开发详解_第3张图片

 然后在其他项目引入改插件的时候,绑定好参数即可

Java Maven高级之插件开发详解_第4张图片

 由于只绑定了clean的生命周期,所以只需执行mvn clean即可

Java Maven高级之插件开发详解_第5张图片

总结

自定义插件基本结束啦,下篇讲讲Maven原型(archetype)吧。

是不是看完后,感觉没啥难的,现在回过头来看一下Maven自带的maven-jar-plugin插件,其实没有想象中那么难,只是结构比较复杂。

Java Maven高级之插件开发详解_第6张图片

看完这个之后,大家也可以去看一下SpringBoot的插件源代码,这个插件就开发的比较厉害了,如果比较细心的任就会发现,使用这个插件打包出来的可执行包,执行的类并不是执行的类,而是通过SpringBoot同一的启动类去启动 。

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

你可能感兴趣的