服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java Maven高级之插件开发详解

Java Maven高级之插件开发详解

2022-01-11 13:26IT_小白鼠 Java教程

这篇文章主要介绍了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方法

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

延伸 · 阅读

精彩推荐