插件说明
phase中绑定一个或多个插件,插件中有一个或多个的goal,goal就相当于一个个功能,执行phase就相当于执行插件中的goal
默认情况下,只有少数一些phase绑定了plugin,大多phase都没有绑定plugin,也就是执行到这个phase什么都不做直接执行下一个phase
比如现在有一个需求,默认情况下我们打jar包是没有将各种依赖打到jar包中,这就有可能导致运行的时候缺各种类,如果要实现将依赖也打入jar包中,那么就需要手动配置pulgin了
插件配置语法
需求:默认情况我们打出来的jar包不是源码包,很多开源项目都会提供源码包供我们阅读,如果要打源码包就需要进行插件配置了,配置语法如下
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
插件也是个jar包,需要从远程仓库进行下载,其中比较重要的就是execution标签,该标签的主要作用是绑定插件和phase,如下就是将maven-source-plugin插件的jar-no-fork goal绑定到verify阶段,那么执行verify的时候就会执行该插件的jar-no-fork goal了
<execution> <id>attach-sources</id> <phase>verify</phase> <goals> <goal>jar-no-fork</goal> </goals> </execution>
当然executions可以指定多个execution,将插件绑定多个phase
execution的goals也可以指定多个,标识执行该插件的多个goal
运行verify就可以打源码包了
参考
- 相关插件参考文档
http://maven.apache.org/plugins/index.html