Maven自定义插件的开发示例
1、创建maven项目,配置相关依赖pom.xml
注意
<?xml version="1.0" encoding="UTF-8"?>
4.0.0
com.wywtime.plugins
bsmn-maven-plugin
0.0.1
maven-plugin
org.apache.maven
maven-plugin-api
3.8.6
org.apache.maven.plugin-tools
maven-plugin-annotations
3.6.4
provided
2、创建AbstractMojo实现类
package com.wywtime.plugin;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
@Mojo(name = "hello")
public class BsmnMavenHelloMojo extends AbstractMojo {
@Parameter
private String basedir;
@Parameter
private String name;
public void execute() throws MojoExecutionException, MojoFailureException {
getLog().info("hello "+name+", this is bsmn's first plugin");
getLog().info("current basedir is:"+basedir);
}
}
3、安装插件
mvn install
发现通过idea工具install,与命令行有差异,是因为命令行用的是本地安装的maven
# 可通过如下指令来查看实际的配置
mvn help:effective-settings
4、修改settings.xml
com.wywtime.plugins
5、在新项目中引入插件
修改pom.xml
com.wywtime.plugins
bsmn-maven-plugin
0.0.1
abc
${project.basedir}
6、执行指令
mvn bsmn:hello