Maven自定义插件简介

一、项目搭建

1、创建新项目
在这里插入图片描述

在这里插入图片描述

打包方式:

<packaging>maven-plugin</packaging>

jar包依赖:

<dependency>
  <groupId>org.apache.maven</groupId>
  <artifactId>maven-plugin-api</artifactId>
  <version>2.0</version>
</dependency>

二、代码简介

默认生成mojo:

package com.itliwei;


import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
* Goal which touches a timestamp file.
*
 * @goal touch
 * 
 * @phase process-sources
 */
public class MyMojo
 extends AbstractMojo
{
    /**
     * Location of the file.
     * @parameter expression="${project.build.directory}"
     * @required
     */
    private File outputDirectory;

    public void execute()
        throws MojoExecutionException
    {
        //.......
	     System.out.println("hello itliwei : maven plugin execute success");
	}
}

这里简单介绍一下自定义插件的几个重要组建:
1、goal 注解

 * @goal touch
	表示该插件的服务目标
	在处理源码的时候,plugin-tools 会把使用了Javadoc 里包含 @goal 注释或 @Mojo 注解的类来当作一个 Mojo 类
 * @phase process-sources
 	表示该插件的生效周期阶段

2、AbstractMojo 类

* public class MyMojo extends AbstractMojo
	AbstractMojo是一个抽象类

3、parameter 注解

 * @parameter expression="${project.build.directory}"
 		插件参数
 * @required
 		是否必须

4、execute 方法

 * public void execute()  throws MojoExecutionException
  	实现execute方法,具体实现插件业务

三、插件运行

有了上面的四部分,就可以运行插件:

1、安装插件
maven install
在这里插入图片描述

2、执行插件

mvn com.itliwei:mavendemo-maven-plugin:1.0-SNAPSHOT:touch

在这里插入图片描述

如果实用最新版本,可以将命令版本号去掉:

mvn com.itliwei:mavendemo-maven-plugin:touch

四、基础拓展

上文中的parameter注解还记得吗?

/**
 * @parameter expression="${input.message} "
 * @required
 */
private String inputMessage;

public void execute()
    throws MojoExecutionException
{
    System.out.println("hello itliwei : "+inputMessage);
}

重新打包,重新运行:

mvn mavendemo-maven-plugin:touch -Dinput.message="unbelievable"

在这里插入图片描述

五、使用案例

	<plugin>
			<groupId>com.itliwei</groupId>
			<artifactId>mavendemo-maven-plugin</artifactId>
			<configuration>
				<inputMessage>unbelievable</inputMessage>
			</configuration>
		</plugin>

在这里插入图片描述
执行命令,输出结果:
在这里插入图片描述

### 创建和配置 IntelliJ IDEA Maven 自定义插件 #### 插件创建基础 为了在 IntelliJ IDEA 中创建一个自定义Maven 插件,开发者通常会遵循一系列特定流程来确保该插件能够有效地集成并扩展 IDE 的功能。Maven 对项目的第三方构件(jar 包)进行统一管理,因此向工程中加入 jar 包不需要手动复制粘贴,只需通过 Maven 描述即可引用所需库文件[^4]。 #### 开发环境准备 启动 IntelliJ IDEA 并进入 `File → New → Project` 来初始化一个新的项目。选择基于 Java 或其他支持的语言模板作为起点,并勾选上 Maven 支持选项以便于后续操作更加便捷高效[^5]。 #### 编写插件代码 编写 Maven 插件的核心在于实现 Mojos (Maven Old Java Objects),这是 Maven 插件中的主要组件之一。每一个 Mojo 表示一个具体的构建目标,在 pom.xml 文件里被调用执行相应的任务逻辑。下面是一个简单的例子展示如何定义一个基本的 Maven Plugin: ```java import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugins.annotations.Mojo; @Mojo(name = "helloWorld") public class HelloWorldMojo extends AbstractMojo { @Override public void execute() { getLog().info("Hello, world!"); } } ``` 这段代码展示了怎样创建一个名为 helloWorld 的简单命令行输出插件[^3]。 #### 注册与发布插件 完成上述步骤之后,则需将新创建好的插件注册至本地仓库或是远程中央仓库供他人下载使用。这一步骤涉及到修改 POM 文件以包含必要的元数据信息如 groupId、artifactId 及 version 等属性值。此外还需指定打包方式为 maven-plugin 类型从而让 Maven 能识别这是一个合法有效的插件产品[^2]。 #### 安装与验证 最后一步是在实际环境中测试所开发出来的插件是否正常工作。可以通过命令行工具 mvn clean install 将其安装到本地仓库内,随后尝试在一个全新的 Maven 工程下应用此插件看能否成功触发预期行为。如果一切顺利的话,那么恭喜您已经掌握了创建及配置 IntelliJ IDEA 下 Maven 自定义插件的基础技能[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值