maven 插件
maven 的生命周期定义了多个阶段,其中每个阶段要实现的具体功能都是由插件来完成。
一个插件 包含多个插件目标(Plugin Goal),每个插件目标可以实现一项特定的功能。
maven生命周期的阶段与插件目标绑定,以完成某个具体的构件任务。例如项目编译这个任务,对应了default生命周期
阶段的compile阶段
,而maven-compiler-plugin
插件的compile目标
能够完成该任务,因此将他们进行绑定,以实现项目编译任务。
为了让用户几乎不用任何配置就能构建 maven 项目,maven 为一些主要的生命周期阶段绑定好了插件目标,当我们通过命令调用生命周期阶段时,绑定的插件目标就会执行对应的任务。
自定义绑定
用户可以自己选择将某个插件目标绑定到生命周期的某个阶段上,使得 maven 项目在构建过程中执行个性化任务。
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>
jar-no-fork
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
将maven-source-plugin
插件的jar-no-fork
目标,绑定到 default
生命周期的verify
阶段。