maven应用—自定义插件

1、创建插件项目

  • 创建项目

在这里插入图片描述

在这里插入图片描述

  • 修改pom依赖
  <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>
  • 编写自定义插件执行goal
// hello执行的goal名称。name对应配置参数
@Mojo(name = "hello", defaultPhase = LifecyclePhase.NONE)
public class DemoMojo extends AbstractMojo {


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


    @Override
    public void execute() throws MojoExecutionException, MojoFailureException {
        System.out.println("hello:" + name);
    }
}

  • 安装到本地仓库测试install

2、插件测试

  • 在目标项目中引入插件
 <plugin>
                <groupId>com.link</groupId>
                <artifactId>demo-maven-plugin</artifactId>
                <version>1.0-SNAPSHOT</version>
                <executions>
                    <execution>
                        <goals>
                            <!--执行对应插件名称-->
                            <goal>hello</goal>
                        </goals>
                        <!--执行阶段-->
                        <phase>clean</phase>
                    </execution>
                </executions>
                <configuration>
                    <!--参数配置-->
                    <name>tom</name>
                </configuration>
            </plugin>

效果如下:

在这里插入图片描述

  • 配置插件goal为hello,在clean阶段执行,参数为tom

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值