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了。