自定义Maven插件入门

Maven 插件列表详解 Maven 是一个强大的项目管理和构建工具,广泛应用于 Java 项目中。作为一款优秀的构建管理工具,Maven 不仅提供了标准化的项目结构和依赖管理,还通过其丰富的插件系统,极大地扩展了其功能和灵活性。无论是代码编译、测试、打包,还是部署、报告生成,Maven 插件都扮演着不可或缺的角色。 本文将深入探讨 Maven 的插件体系,详细介绍各类插件的用途、主要目标和适用的生命周期阶段。内容涵盖了 Maven 官方插件、被淘汰的插件、社区驱动的 MojoHaus 插件、国内外企业开发的非官方插件以及如何自定 阅读详情

新建一个Maven项目并加入必要依赖

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>fun.gosuncn</groupId>
    <artifactId>custom-plugin</artifactId>
    <packaging>maven-plugin</packaging>
    <version>1.0</version>

    <dependencies>
        <dependency>
            <groupId>org.apache.maven</groupId>
            <artifactId>maven-plugin-api</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.maven.plugin-tools</groupId>
            <artifactId>maven-plugin-annotations</artifactId>
            <version>3.5.2</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-plugin-plugin</artifactId>
                <version>3.5.2</version>
            </plugin>
        </plugins>
    </build>

</project>

建立一个Mojo类

package fun.gosuncn;

import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;

@Mojo(name = "Apollo")
public class Apollo extends AbstractMojo {

    @Parameter(name = "name", defaultValue = "kiwi")
    private String name;

    public void execute() {
        getLog().info("hello " + name);
    }

}

直接执行,maven install 即可。


新建一个项目

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>fun.gosuncn</groupId>
    <artifactId>common</artifactId>
    <version>1.0</version>

    <build>
        <plugins>
            <plugin>
                <groupId>fun.gosuncn</groupId>
                <artifactId>custom-plugin</artifactId>
                <version>1.0</version>
                <configuration>
                    <name>shanghai</name>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

并引用该插件,可以直接执行该插件。

自定义基于maven插件的代码生成器 目录前言具体实现1. pom.xml2. MoJo的代码3. controller模板遇到的问题1. install出错2. 执行插件目标generator命令报错3. 生成的dao层文件执行insert语句报错使用插件1. pom.xml文件2. generator.properties3. 执行命令 前言 最近研究了一下maven的自定义插件,之前用过maven中的mybatis-gener... 阅读详情

相关推荐

华为昇腾Atlas200DK. CANN模型推理——目标检测结果不对(无检测结果)的问题解决

目录前言问题描述问题排查1.后处理模块问题排查2.预处理模块问题排查3.模型问题排查4.算法bug问题排查5.AI板卡问题排查6.模型精度问题排查6.模型推理问题解决:模型输入数据与预处理不同后记 前言 上周我在华为昇腾Atlas200DK中部署nanodet和yolov5时,出现了目标检测结果不对(没有检测到任何物体),困扰了整整三天,最后找到原因并圆满解决,在这里记录一下debug过程。 以上测试均在python中完成。 问题描述 第一天上午,我首先将nanodet由pytorch的.pth模型转换为.

qq_41035283的博客 5604

Maven第六章:Maven的自定义插件开发

maven不仅仅只是项目的依赖管理工具,其强大的核心来源自丰富的插件,可以说插件才是maven工具的灵魂。本篇文章将对如何自定义maven插件进行讲解,希望对各位读者有所帮助。

RodJohnsonDoctor的专栏 1286

Audio2Face进阶玩法:结合LiveLink在UE5中实现MetaHuman全身动画+语音驱动(保姆级配置指南)

本文提供了一份详尽的保姆级教程,指导如何将NVIDIA Audio2Face与Unreal Engine 5的LiveLink功能结合,实现驱动MetaHuman数字人面部表情的同时,无缝融合身体动画。文章详细讲解了从环境准备、插件部署、基础面部驱动测试,到动画蓝图高级配置与多数据流融合的全流程,并分享了性能优化与问题排查的实战经验,旨在帮助创作者打造表情与肢体动作协调统一的生动数字人。

q9w8e7r6t5的博客 196

自定义maven插件的实现

最近在折腾maven,然后研究了一下maven的插件的写法,然后做了一个案例,通过maven插件来统计当前工程中的目录下有多少个java文件,操作步骤如下,在intellij idea中使用。1、新建一个maven项目,我这边jdk的build选择的是1.8,在pom.xml中添加...

朱培(知浅_ZLH) 1万+

ANSYS Discovery 2023R1 保姆级教程:手把手教你玩转几何模型参数化(附避坑指南)

本文提供ANSYS Discovery 2023R1几何模型参数化的全面教程,涵盖基础环境搭建、核心操作解析及高级应用场景。重点讲解参数化建模中的常见问题与避坑方案,帮助用户高效掌握Workbench与Discovery的协同使用技巧,提升工程仿真效率。

weixin_29204205的博客 752

UFS软件分区介绍

本文主要介绍了ufs软件分区管理的概况,能够使大家对软件分区有个大体的认识

肥匪斐's blogs 1万+

Maven - 插件开发入门 自定义插件实现项目个性化构建

本文介绍了Maven插件开发的基础知识和实践方法。主要内容包括: Maven插件开发的需求场景:特定构建逻辑、代码生成、自定义报告等 Maven插件的两种类型:目标插件(Mojo)和生命周期插件 Maven插件开发的核心组件:插件描述文件、Mojo类、Mojo注解 标准Maven插件项目的目录结构 插件POM文件的详细配置说明,包括: 必须声明为maven-plugin打包类型 核心依赖maven-plugin-api和maven-plugin-annotations 使用maven-plugin-plug

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

HFSS实战项目——基片集成波导(SIW)带通滤波器

设计了一款直接耦合的SIW带通滤波器, 采用直接耦合的形式, 工作频率覆盖19~21 GHz, 通带内插入损耗小于1.5 dB, 回波损耗小于-20 dB, 带外抑制特性良好.

2401_87464239的博客 4897

maven入门实战目录贴

maven入门实战视频   第一章 传统项目构建方式 第二章 maven简介 第三章 maven核心概念-坐标 第四章 maven核心概念-依赖 第五章 maven核心概念-仓库 第六章 maven核心概念-生命周期和插件 第七章 maven核心概念-聚合和继承 第八章 测试 第九章 分发及部署 第十章 自定义构建行为   附录一 pom结构 ...

iteye_16382的博客 378

22、用户界面流程(UI Flow)全解析

本文全面解析了用户界面流程(UI Flow)的概念、创建步骤及其在系统设计中的应用。通过示例和操作步骤,详细介绍了如何确定屏幕范围、识别屏幕、创建过渡和标记触发器,并阐述了UI Flow在导航识别、验证、可用性优化、测试用例开发和需求推导中的重要作用。文章还结合问答系统案例,展示了UI Flow的实际应用价值,帮助读者深入理解并有效运用这一工具提升系统用户体验。

rice5的博客 153

EMC辐射整改常用的4种整改方法

例如,产品设计研发工程师们根据需求,设计出效果良好的滤波电路,置入产品I/O(输入/输出)接口的前级,可使因传导而进入系统的干扰噪声消除在电路系统的入口处;通过选择元器件和合理安排的电路系统,使干扰的影响减少。有些频率点是通过电路板上走线分布参数所决定的,通过前述方法不大有用,此类整改通过在走线中增加小的电感、电容、磁珠来改变电路参数结构,使其移到限值要求较高的频率点上。电线电缆的分类整理在电子设备中,线间耦合是一种重要的途径,也是造成干扰的重要原因,因为频率的因素,可大体分为高频耦合与低频耦合。

学海无涯的专栏 3122

Maven实战(六)- 开发自定义Maven插件

表示该目标是否必须在一个Maven项目中运行,默认为true。这里介绍一款插件maven-invoker-plugin,该插件能够用来在一组项目上执行Maven,并检查每个项目的构建是否成功,最后,它还可以执行BeanShell或者Groovy脚本来验证项目构建的输出。任何一个Mojo都必须使用该注解声明明自己的目标名称,有了目标定义之后,我们才能在项目中配置该插件目标,或者在命令行调用之。这是唯一必须声明的属性,当用户使用命令行调用插件,或者者在POM中配置插件的时候,都需要使用该目标名称。

AHAO的博客 3012

lammps教程:in文件结构详解以及一个比较实用的in文件模板

lammps软件只是一个求解器,没有可视化的前处理和后处理软件,所有的命令只能通过代码的方式输入到求解器进行求解计算。 所有的命令都被写到一个称为“in”的文件里,对于初学者来说,熟悉in文件的编写是一个难点。 in文件其实就是一个文本文档,也没有要求文件名或者后缀名中必须带有“in”字样,用任何文件名均可运行。 in文件里的代码是按照编写的顺序进行解释执行,对于大部分命令行来说,前后顺序影响并不是很大,但是,对于一些命令,在执行过程中需要某个参数,则这个参数的定义和计算必须写在命令执行之前。 例如,对晶体

lammps_jiayou的博客 2万+

Maven自定义插件简要流程

1. 新建一个Maven工程; 2. 修改POM打包方式为packing: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/ma

iszhao的专栏 990

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

编写 Maven 插件,以及 Maven 插件默认绑定 phase 的原理

因为之前好奇 maven 插件可以不设置绑定phase周期,执行时会自动绑定一个默认的 phase 周期。而这个周期具体是哪个 phase 只有去插件的官网上才能查到(文章末尾会讲在项目中查看默认绑定的方法)。所以我萌生出一个想法,自己写一个插件!

z69183787的专栏 418

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Maven自定义插件实现

没有接触过自定义插件,都会把它想的特别难,我刚接触也是,但“手是英雄”,真正动手做了才知道。Maven 作为一个优秀的项目管理工具,其插件机制为其功能扩展提供了非常大的便捷性。虽然说大多...

weixin_42084197的博客 211

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Maven插件开发入门

一直想学习下maven插件,可是没有中文文档。只好去官网上找了。居然看到一个插件开发指南。想我英语就停留在初中水品居然看懂了。 闲话说完。用Maven开发一个插件我觉得分以下几步: 1、添加maven-plugin-api依赖。 2、写个类来实现AbstractMojo。 3、编译安装自己的插件。 4、测试写好的插件。 一...

nil 178

【Maven】自定义Maven插件

开发Maven插件。

m0_46308522的博客 1250

自定义Maven插件

第一、自定义Maven插件概述 Mojo:Maven plain Old Java Object。每一个Mojo就是Maven中的一个执行目标(executable goal),而插件则是对单个或者多个相关Mojo做统一分发。 一个Mojo包含了一个简单的Java类。插件中多个类似Mojo的通用之处可以使用抽象父类来封装。Maven插件项目的打包方式packagin必须为maven-plugin。 第二、自定义插件Maven插件的实现 1、创建一个maven项目mavenplugin 2、引入ma

bobozai86的博客 1297

手撸一款属于自己的Maven插件,说干就干

今天,冰河给大家分享一篇大部分人都不会的技能,那就是我们自己动手写一款属于自己的Maven插件,强烈建议收藏!!

冰河的专栏 1万+

自定义maven插件

一般的maven插件使用时需要引入插件的gav(groupId,artifactId,version)就可以正常使用了。一般的结构如下: 包含插件的gav,还有一组可执行器<execution>。在每个<execution>里面包含有如下结构一个可执行器的结构如上,其中各标签释义如下:<configuration>表示该可执行器的配置项,后续在自定义实现maven插件中会详细的描述<id>就是取个名字,别重复就行了<phase>表示该可执行器在maven的生命周期的哪个阶段生效,如果不配置,使用插件默认的,

qq_39203337的博客 1237

Maven 构建插件的自定义配置

Maven 插件是执行特定构建任务的模块,每个插件由多个目标(Goal)组成。插件在 Maven 构建生命周期的不同阶段执行任务。

秋元的博客 1203

MAVEN 自定义插件

文章目录快速开始创建第一个插件0. 约束1. 添加依赖2. 创建插件类3. 打包使用引用文件说明 快速开始 创建第一个插件 0. 约束 在创建插件之前,MAVEN官网有个重要的约束,应该所有自定义插件的开发者都应该遵循此约束。 Apache Maven 维护的统一的命名约束为:maven-<yourplugin>-plugin 用户自定义插件命名约束:<yourplugin&...

Wyndem的博客 805

maven进阶——开发自定义插件

maven不仅仅只是项目的依赖管理工具,其强大的核心来源自丰富的插件,可以说插件才是maven工具的灵魂。本篇文章将对如何自定义maven插件进行讲解,希望对各位读者有所帮助。我们先在idea中创建一个maven项目,并在pom文件中写入如下配置,这里的目的是标识我们这个项目是maven插件项目,需要按照插件的方式来进行打包。其次,引入插件开发所需要的依赖,这里版本不一定需要和我一致,只要两个依赖之前版本不要差距过大就行。--这个依赖引入了插件开发需要的相关基础类-->

shadow_zed的博客 2087

maven之自定义插件

在使用maven肯定是离不开插件的,比如执行mvn clean或者时其实运行的就是绑定的默认插件。虽然我们一般不需要来自定义插件,但是为了使用的过程中更加的清晰,来尝试自定义插件还是很有必要的,所以本文就一起来看下这部分内容。

wang0907的博客 1088

Maven - 10、设计你自己的maven插件

maven中的插件是有很多目标(goal)组成的,开发插件,实际上就是去编写插件中目标的具体代码。execute:这个方法比较重要,目标的主要代码就在这个方法中实现,当使用mvn命令调用插件的目标的时候,最后具体调用的就是这个方法。setLog:注入一个标准的Maven日志记录器,允许这个Mojo向用户传递事件和反馈getLog:获取注入的日志记录器说一下上面这个Log,这是一日志接口,里面定义了很多方法,主要用户向交互者输出日志,比如我们运行mvn clean。

。 2万+
上一篇: Java实现文件的下载功能
下一篇: 使用POI将数据库中的数据导入到Excel中
盖了帽
博客等级 码龄8年 17粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值