maven自定义插件

maven的生命周期:Maven 构建生命周期定义了一个项目构建跟发布的过程。

每一个生命周期都会包含多个步骤(goal)

常见周期

mvn clean:项目清理

mvn compile:项目编译

mvn package:项目打包

mvn install:项目打包到本地

mvn deploy:项目打包到远程

注意点:每一个周期的执行都会先执行他的前置周期,如执行install 会先依次执行clean、compile、package

自定义插件

1、项目创建

2、核心类以及注解

核心类AbstractMojo 每一个继承AbstractMojo的类都是一个可执行的goal,实现execute方法

而@Mojo注解则标志了goal执行的相关信息

name:goal的名称

defaultPhase:默认绑定的生命周期,这样在配置使用插件目标时,就无需声明phase

requiresDependencyResolution :在运行mojo之前必须解析所有指定范围的依赖

configurator:configurator的含义我没查到,至于为什么加这个参数是因为没有这个参数扫描不到项目下的类

还可使用@parameter将mojo的某个字段标注为可配置参数,即mojo参数,比如mvn命令执行是的参数,配置在使用该插件的项目pom中

3、打包

mvn install即可

4、使用

主项目pom文件增加plugin

<plugin>
    <groupId>com.taoge.test</groupId>
    <artifactId>mojo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <executions>
        <execution>
            <goals>
                <goal>deploy</goal>
            </goals>
        </execution>
    </executions>
</plugin>

5、调试

主项目执行:mvndebug mojo:deploy

插件项目监听8000端口

results matching ""

    No results matching ""