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端口