Maven插件开发——MOJO简单使用
Maven插件开发简介
Maven包含一个提供基本项目处理功能和构建过程管理的核心引擎,以及一系列用于执行实际构建任务的插件。
什么是Mojo?
Mojo实际上是一个Maven的目标,插件包含任意数量的目标(Mojos)。Mojos可以定义为带注释的java类或Beanshell脚本。Mojo指定有关目标的元数据:目标名称,它适合生命周期的哪个阶段,以及它期望的参数。
Mojo术语是在maven2中引入,它是对如何编写插件的完整重写。Mojo是对Pojo(plain-old-java-object)的一种改进,它将maven替换为plain。
什么是构建生命周期?(概述)
构建生命周期是一系列公共的阶段,所有的项目构建都是通过这些阶段自然进行的。插件目标被绑定到生命周期的特定阶段。
Maven 插件的命名规范
一般来说,我们会将自己的插件命名为 <myplugin>-maven-plugin,而不推荐使用 maven-<myplugin>-plugin,因为后者是 Maven 团队维护官方插件的保留命名方式,使用这个命名方式会侵犯 Apache Maven 商标。
以上参考于MavenAPI
创建Maven工程
创建Maven,找到maven-archetype-plugin选择插件类型,点击下一步输入相应参数
例如下图,点击完成创建出一个maven插件项目
创建完成后删除默认的包,自己新建一个包和一个类(结构如下图)
pom.xml
加入需要的依赖
<dependencies><dependency><groupId>org.apache.maven</groupId><artifactId>maven-plugin-api</artifactId><version>2.0</version></dependency><dependency><groupId>org.apache.maven.plugin-tools</groupId><artifactId>maven-plugin-annotations</artifactId><version>3.2</version><scope>provided</scope></dependency><dependency><groupId>org.codehaus.plexus</groupId><artifactId>plexus-utils</artifactId><version>3.0.8</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency></dependencies>
hello.java
新建的类继承AbstractMojo类,重写里面的execute方法。打印输出使用
package com.howie.plugin;import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Mojo;@Mojo(name = "hello")
public class Hello extends AbstractMojo{public void execute() throws MojoExecutionException, MojoFailureException {System.out.println("hello Myplugin");}
}
插件开发已经完成,将所写插件install到本地仓库(选择项目右键运行方式点击maven install)。再引入到项目(在pom.xml中插入以下代码 ,groupid artifactid version要对应着)
<build><plugins><plugin><groupId>com.howie</groupId><artifactId>howie-maven-plugin</artifactId><version>0.0.1-SNAPSHOT</version></plugin></plugins></build>
最后用eclipse的maven插件来运行
运行结果,控制台打印输出
Maven插件开发——MOJO简单使用相关推荐
- 【Maven】maven 插件开发实战
[Maven]maven 插件开发实战 附上我历时三个月总结的 Java 面试 + Java 后端技术学习指南,这是本人这几年及春招的总结,目前,已经拿到了大厂offer,拿去不谢! 下载方式 1. ...
- Maven插件开发教程
Maven是一个一个优秀的项目管理开源框架,其插件机制为其功能扩展提供了非常大的便捷性.大多数情况下,我们不需要自己开发Maven插件,因为Maven本身提供了很多便捷的官方插件.但是对于某些特殊场景 ...
- SSM+Maven+Dubbo+Zookeeper简单项目实战以及易错注意点
最近为了熟悉Dubbo远程过程调用架构的使用,并结合SSM+Maven整合了简单的一套项目实战 直接看项目结构图 各模块介绍 dubbo-common:存放项目需要的公众类,像查询模型.数据库实体模型 ...
- Maven 插件开发
Maven 插件开发 自行开发的一些插件 OSGi bundle plugin 描述:根据POM生成manifest,支持生成Spring风格的Import-Bundle指令 详细:plugin do ...
- Maven就是这么简单
2019独角兽企业重金招聘Python工程师标准>>> 什么是Maven Maven是一个采用纯Java编写的开源项目管理工具, Maven采用了一种被称之为Project Obje ...
- Maven私服的简单搭建教程(Nexus)
2019独角兽企业重金招聘Python工程师标准>>> 第一步,下载nexus的安装包并解压 链接:http://pan.baidu.com/s/1jIhpZ98 密码:6bqx 如 ...
- Maven 私服的简单使用
所有的 Java 开发者应该是没有没用过 Maven 的吧.Maven 作为 Java 项目管理工具,它不仅可以用作包管理,还有许多的插件,可以支持整个项目的开发.打包.测试.部署等一系列行为.而包管 ...
- PHP开发群控,玩客云改群控的试玩体验,群控插件开发原来如此简单
认识众多玩家高手/拆客/DIYer,查阅更多资源,一起学习技术知识 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 上周参加小融的活动,把自己手里两台玩客云刷成了群控系统.刷机免费,开放API ...
- 关于Maven(mvn)的简单学习
Maven(mvn) 在开始之前我先来谈一谈我的学习方法,我在学习认识新东西之前是按照三步走来学习的,即:是什么?做什么?怎么学? 那接下来就让我们按照三步走来学习一下Maven 1.Maven 是什 ...
最新文章
- 机器不学习:浅析深度学习在实体识别和关系抽取中的应用
- 使用Keras训练自动驾驶(使用Udacity自动驾驶模拟器)
- 【转】Java字符串与字符集的基本概念
- 市场与需求带动 向智能安放转型成大势所趋
- Struts值栈与Ognl
- hdu 5305 回溯+剪枝
- Sqlserver内存管理:限制最大占用内存(转载)
- Java学习笔记——反射
- 机器学习笔记(八):神经网络:学习
- design php 如何使用ant_Ant Design Pro初探—添加面包屑
- python游戏编程入门百度云-《Python游戏编程快速上手》PDF下载|百度云盘
- 2021 年百度之星·程序设计大赛 - 初赛一
- stl文件用proe怎么打开_stl格式怎么打开
- mac电脑用计算机名共享打印机,苹果电脑怎么连接共享打印机_苹果电脑连接共享打印机的具体教程-系统城...
- 开发届这些公司的自白
- Nodejs 微信加密消息开发
- C语言同时满足三个并列条件,你不得不知道的编程基础之同时满足多个条件
- (¥1011)-(一千零一拾一元整)输出
- php医院预约挂号系统
- expect command