maven插件实现

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

猜你喜欢

转载自blog.csdn.net/bawcwchen/article/details/80301924