maven插件分为官方插件和第三方插件,那么他们如何区分呢?
1.<yourplugin>-maven-plugin:这个就是第三方插件命名规范。
2.maven-<yourplugin>-plugin:这个是官方插件命名规范,第三方插件是不推荐用这种方式来命名的。
既然我们要实现自己的插件,那么有没有archetype给我们来生成插件项目呢,答案是有。
mvn archetype:generate -DgroupId=com.cj.plugin -DartifactId=helloworld-maven-plugin -DarchetypeGroupId=org.apache.maven.archetypes -DarchetypeArtifactId=maven-archetype-plugin
-DinteractiveMode=false
实现我们的插件代码,然后mvn install。生成插件项目.
接下来验证该插件.
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.cj.plugin</groupId> <artifactId>helloworld-maven-plugin</artifactId> <version>1.0.1</version> <configuration> <greeting> <!--给插件传参list--> <param>banana</param> <param>apple</param> </greeting> </configuration> <executions> <execution> <phase>compile</phase> <!--在编译阶段执行hello目标--> <goals> <!--hello目标对应的执行类是com.cj.plugin.HelloMojo--> <goal>hello</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
configuration参数说明:
验证结果:
在我们的测试项目中运行插件目标:
mvn com.cj.plugin:helloworld-maven-plugin:1.0.1:hello
以上我们自定义的插件就OK了。