Java Maven高级之插件开发详解
作者:IT_小白鼠 发布时间:2023-05-11 19:10:02
标签:Maven,插件
前言
终于来到了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


猜你喜欢
- 一、Media FrameWork背景Media Framework (媒体函数库):此函数库让Android 可以播放与录制许多常见的音频
- 一、File流概念JAVA中针对文件的读写操作设置了一系列的流,其中主要有FileInputStream,FileOutputStream,
- Web.Config,其中一部分配置如下: <appSettings> <
- 先看实例 代码如下 classip { privatestaticlongiptolong(stringstrip) //将127.0.0.
- 本文实例为大家分享了Android简单实现天气预报App的具体代码,供大家参考,具体内容如下一、UI设计首页UI<?xml versi
- 1、SerialPortHelper「Android串口通信」介绍原项目地址https://github.com/freyskill/Ser
- 1.可见性通常,我们无法保证执行读操作的线程能看到其他线程写入的值,因为每个线程都由自己的缓存机制。为了确保多个线程之间对内存写入操作的可见
- 删除字符串的所有标点str = str.replaceAll("[\\pP‘'“”]", ""
- 这是一篇关于LIstView实现动态数据渲染的文章! 首先我们讲讲数据是如何来规划的 一般情况下我们有两种规划方案前提比如我们数据
- 一、前言我们在做Winform窗体程序开发的时候,会经常遇到窗体之间相互传值。假设有下面的一个场景:一个主窗体和一个子窗体,点击主窗体上面的
- 添加jar包这里的Scala不是maven工程所以要找到项目结构(快捷键:同时按住Ctrl+shift+Alt+s)在模块里面添加添加MyS
- #简易版1、客户发送请求经过 DisPatcherServlet 核心过滤器2、DisPatcherServlet 核心控制器在去找一个或多
- 说到下拉刷新控件,网上版本有很多,很多软件也都有下拉刷新功能。有一个叫XListView的,我看别人用过,没看过是咋实现的,看这名字估计是继
- Java获取控制台输入的方法在学习网络编程中,有需要从控制台输入数据,进行两个线程之间的通信,其中,涉及到了读取控制台输入的两种不同的操作,
- 前言一般情况下,当我们使用 SpringDataElasticsearch 去操作 ES 时,索引名
- 老签名多渠道打包原理前言由于Android7.0发布了新的签名机制,加强了签名的加固,导致在新的签名机制下无法通过美团式的方式再继续打多渠道
- 介绍原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式是一种对象创建
- 本文实例讲述了Android编程之canvas绘制各种图形的方法。分享给大家供大家参考,具体如下:1、首先说一下canvas类:Class
- @Transactional 内部调用例子 🌰在 Spring 的 AOP 代理下,只有目标方法由外部调用,目标方法才由 Spring 生成
- 目录1.问题引出2.解决办法3.另外一种自定义序列化机制(介绍Externalizable)1.问题引出在某些情况下,我们可能不想对于一个对