服务器之家

服务器之家 > 正文

Java Maven高级之插件开发详解

时间:2022-01-11 13:26     来源/作者:IT_小白鼠

 

前言

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

 

创建

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

<dependency>
   <groupId>org.apache.maven</groupId>
   <artifactId>maven-plugin-api</artifactId>
   <scope>provided</scope>
   <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>

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

<packaging>maven-plugin</packaging>

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

 

自定义插件

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

Java Maven高级之插件开发详解

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

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

Java Maven高级之插件开发详解

 就能看到打印的日志了。

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

Java Maven高级之插件开发详解

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

Java Maven高级之插件开发详解

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

Java Maven高级之插件开发详解

 

总结

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

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

Java Maven高级之插件开发详解

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

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

原文链接:https://blog.csdn.net/qq_40874285/article/details/120384442

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部