编写maven插件
创建项目
普通项目即可,重点是项目名:XXXX-maven-plugin格式,XXX即引用新创建的maven plugin的项目,可以通过mvn XXXX触发命令
引入POM
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-api</artifactId>
<version>3.8.3</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugin-tools</groupId>
<artifactId>maven-plugin-annotations</artifactId>
<version>3.6.1</version>
</dependency>
</dependencies>
设置打包方式
<packaging>maven-plugin</packaging>
引入maven插件构建
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-plugin-plugin</artifactId> <version>3.6.1</version> </plugin> </plugins> </build>
创建继承AbstractMojo的类
import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; @Mojo(name = "docMojo") public class DocMojo extends AbstractMojo { @Parameter(name = "name", defaultValue = "test") private String name; public void execute() throws MojoExecutionException { getLog().info("This is doc."); } }
当前maven插件项目打包
执行mvn install clean
其他项目引用上面XXXX maven插件
<build> <plugins> <plugin> <groupId>com.maven.project</groupId> <artifactId>XXXX-maven-plugin</artifactId> <version>0.0.1-SNAPSHOT</version> </plugin> </plugins> </build>
执行mvn命令
mvn XXXX:docMojo
收藏文章数量从多到少与“把书读薄”是一个道理