Java Maven高级之插件开发详解
作者:IT_小白鼠 时间:2023-05-11 19:10:02
前言
终于来到了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方法
然后打包并且安装到本地仓库上(命令:mvn clean install)
安装好后,可以在命令行中输入:
就能看到打印的日志了。
如果想要在插件中打包时传入参数,也是可以支持,这里就写出几个示例:
然后在其他项目引入改插件的时候,绑定好参数即可
由于只绑定了clean的生命周期,所以只需执行mvn clean即可
来源:https://blog.csdn.net/qq_40874285/article/details/120384442
标签:Maven,插件
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java 判断线程池所有任务是否执行完毕的操作
2021-10-03 09:43:55
关于C#结构体 你需要知道的
2022-01-04 13:11:49
![](https://img.aspxhome.com/file/2023/7/122757_0s.png)
Spring MVC URL地址映射的示例代码
2022-12-09 19:53:33
![](https://img.aspxhome.com/file/2023/3/72903_0s.jpg)
java web上传文件和下载文件代码片段分享
2023-10-04 19:50:50
Spring整合Junit的使用详解
2022-11-20 18:33:17
Unity 实现给物体替换材质球
2023-06-28 05:28:24
![](https://img.aspxhome.com/file/2023/4/104334_0s.jpg)
Android EditText追加空格、限制字符等方法示例
2023-10-02 17:10:47
![](https://img.aspxhome.com/file/2023/6/138196_0s.jpg)
使用Flutter实现一个走马灯布局的示例代码
2023-06-19 03:50:03
![](https://img.aspxhome.com/file/2023/4/84714_0s.gif)
Android Shape属性创建环形进度条
2021-08-02 09:03:08
![](https://img.aspxhome.com/file/2023/4/94274_0s.gif)
spring boot 全局异常处理方法汇总
2021-07-06 22:44:04
Android 之Preference控件基本使用示例详解
2022-10-20 23:42:34
![](https://img.aspxhome.com/file/2023/9/86019_0s.jpg)
Java中Boolean与字符串或者数字1和0的转换实例
2022-06-27 16:17:19
![](https://img.aspxhome.com/file/2023/2/110802_0s.jpg)
java中类加载与双亲委派机制详解
2023-12-07 06:34:53
![](https://img.aspxhome.com/file/2023/6/94296_0s.webp)
C# menuStrip控件实现鼠标滑过自动弹出功能
2022-09-01 05:18:37
![](https://img.aspxhome.com/file/2023/0/102220_0s.jpg)
将InputStream转化为base64的实例
2023-04-24 02:30:59
![](https://img.aspxhome.com/file/2023/3/104033_0s.jpg)
Spring实例化bean的方式代码详解
2022-04-04 08:46:09
Android自定义简单的顶部标题栏
2023-04-23 06:02:17
![](https://img.aspxhome.com/file/2023/6/109166_0s.jpg)
Android制作漂亮自适布局键盘的方法
2022-08-04 09:14:53
![](https://img.aspxhome.com/file/2023/3/137933_0s.png)
SpringBoot实现简单文件上传功能
2021-07-22 21:52:49
mybatis 逆向生成后遵循java驼峰法则的解决
2023-03-03 03:22:02