插件开发
1、插件项目pom引入依赖
org.apache.maven
maven-plugin-api
3.5.0
org.apache.maven.plugin-tools
maven-plugin-annotations
3.5
provided
2、新建MyMojo类,继承AbstractMojo并实现抽象方法execute()
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import java.util.List;
/**
* @Class MyMojo
* @Description MyMojo
* @Author zeke
* @Version 1.0.0
**/
@Mojo(name = "myMojo", defaultPhase = LifecyclePhase.PACKAGE)
public class MyMojo extends AbstractMojo {
@Parameter
private String msg;
@Parameter
private List options;
@Parameter(property = "args")
private String args;
// mvn install -Dargs=123
public void execute() throws MojoExecutionException, MojoFailureException {
System.out.println("myMojo plugin !!! msg = " + msg);
System.out.println("myMojo plugin !!! options = " + options);
System.out.println("myMojo plugin !!! args = " + args);
}
}
3、mvn clean install插件到本地仓库。
插件使用
1、在项目pom引入插件,并传递一些参数。
cool.zeke
my-plugin
1.0-SNAPSHOT
this is msg
option1
option2
option3
package
myMojo
2、执行mvn package ,看到输出如下日志即可表示成功。
myMojo plugin !!! msg = this is msg
myMojo plugin !!! options = [option1, option2, option3]
myMojo plugin !!! args = null
[INFO] ------------------------------------------------------------------------