maven插件编写

Posted sniffs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven插件编写相关的知识,希望对你有一定的参考价值。

Maven

maven作为一个功能丰富的java应用程序管理工具,其提供的插件管理机制为其扩展带来了极大的便利;

本文以统计指定目录下有多少个.java为后缀的文件为例,说明如何自定义maven插件。

Maven插件的命名规范

按照官方建议,maven插件的命名建议为xxxx-maven-plugin,这样命名有两个好处

1、maven-xxxx-plugin为maven官方插件命名,使用这种命名方式可能侵权

2、自定义插件maven执行命令为mvn groupId:artifactId:goal,使用推荐命名方式,maven命令可以简化为mvn xxxx:goal

MoJo

Maven plain Old Java Object,插件执行目标,一个插件可以包含多个Mojo

创建Mojo工程

1、创建maven工程,选择类型为mojo

技术图片

 2、指定groupId、artifactId、版本号

技术图片

 3、在pom文件中指定打包类型为maven-plugin

技术图片

 4、添加依赖

技术图片

 

 5、创建mojo实现类,该实现类继承自AbstractMojo

技术图片

 注意这里要通过@Mojo注解指定插件goalPrefix,否则插件无法生成成功

6、mvn clean install生成插件

技术图片

 

 测试自定义插件

1.创建maven工程

技术图片

 

 2、执行mvn bale:filestat,看到正常调用自定义Mojo

技术图片

 在测试项目中指定executions,通过mvn installmingl执行插件

技术图片

 

 注意:一定要指定执行阶段,否则插件无法正常运行

测试:

技术图片

 

 通过@Parameter注解指定Mojo输入

1、指定@Parameter注解property

技术图片

 

 2、测试项目中添加configuration

技术图片

 

 执行结果:

技术图片

 

 

 

 

 

以上是关于maven插件编写的主要内容,如果未能解决你的问题,请参考以下文章

编写 Maven2 站点插件时获取站点资源列表的最佳方法是啥?

Maven 插件 AbstractMojoTestCase PlexusContainerException

maven之常用插件

是否可以使用maven jmeter插件使用自定义编写的扩展库(未发布到maven repo)

我自己的 Maven 插件如何获得 Maven 工件的可用版本?

如何清理 Maven 插件绑定?