刚开始时候,很难明白maven中packaging、phase和goal之间的关系,后来搞清楚了,项目搭出一个样子的时候,又来一个新的问题——报告
maven在pom model 4.0定义中,特别为报告开辟了一个与build同级的专用节点——<reporting>,在reporting内可以声明一个plugins然后写上各种报告插件,(在Maven2.x中)运行mvn site即可生成一个很完整的项目报告。这个是怎么做到的呢,下面来一探究竟。
1. 首先,看mvn site这个命令做了什么?明显执行了site这个phase,但是phase是不能执行的,执行的是插件,那么就看看是什么插件绑定到site这个phase上。通过Effective POM看到,显然maven-site-plugin:site这个操作绑定到了site这个phase上
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<id>default-site</id>
<phase>site</phase>
<goals>
<goal>site</goal>
</goals>
</execution>
</executions>
</plugin>
2. 其次,maven-site-plugin怎么知