一、三套生命周期
1、 clean
pre-clean 执行一些需要在clean之前完成的工作。
clean 移除所有上一次构建生成的文件。
post-clean 执行一些需要在clean之后立刻完成的工作。
2、 compile
validate 验证
generate-sources 生产源代码
process-sources
generate-resources
process-resources复制并处理资源文件、至目标目录、准备打包
compile 编译源码
process-classes
generate-test-sources
process-test-sources
generate-test-resources
process-test-resources复制并处理资源文件、至目标测试目录
test-compile编译测试源代码
process-test-classes
test使合适的单元测试框架运行测试、这些测试代码不会被打包或部署
prepare-package
package接受编译好的代码,打包成可发布的格式、如JAR
pre-integration-test
integration-test
verify
install将包安装至本地仓库、以让其他目标进行依赖
deploy将最终的包复制到远程仓库、以让其它开发人员与项目共享
3、 site
pre-site 执行一些需要在生成站点文档之前完成的工作。
site 生成项目的站点文档
post-site 执行一些需要在生成站点文档之后完成的工作,并且为部署做准备
site-deploy 将生成的站点文档部署到特定的服务器上
二、插件
插件是maven的核心,所有执行的操作(生命周期中的每个步骤过程)都是基于插件来完成的。
为了让一个插件中可以实现众多的相类似的功能,maven为插件设定了目标,一个插件中有可能有多个目标。其实生命周期中的重要的每个阶段都是由插件的一个具体目标来执行的。
插件的使用:
首先父类中pom.xml的配置:
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<phase>package</phase>
<goals><goal>jar-no-fork</goal></goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
子类继承,使用方法如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
</plugin>
</plugins>
</build>
插件重点是如何找,如何看帮助。