生命周期和插件是Maven的两个核心概念
1、生命周期
maven的生命周期本身不做任何工作,实际工作由相关的插件来完成
1.1 三套生命周期
clean:进行真正的构建之前进行一些清理工作
default:构建的核心部分,编译,测试,打包,部署等等
site:生成项目报告,站点,发布站点
clean:
pre-clean 执行一些清理前需要完成的工作。
clean 清理上一次构建生成的文件。
post-clean 执行一些清理后需要完成的工作。
default:
process-sources 处理项目主资源文件。一般来说,是对src/main/resources目录的内容进行变量替换等工作后,复制到项目输出的主classpath目录中。
compile 编译项目的主代码。一般来说,是编译src/main/java目录下的Java文件至项目输出的主classpath目录中。
process-test-sources 处理项目测试资源文件 src/main/resources。
test-compile 编译项目的测试代码。src/test/java。
test 使用单元测试框架运行测试,测试代码不会被打包或部署。
package 接受编译好的代码,打包成可发布的格式,如jar。
install 将包安装到Maven本地仓库,供本地其他Maven项目使用。
deploy 将最终的包复制到远程仓库
site:
pre-site
site 生成项目站点文档。
post-site
site-deploy 将生成的项目站点发布到服务器上。
2、插件
插件和生命周期绑定,用于完成生命周期内实际的构建任务
2.1 插件目标
一个插件通常可以完成多个工作,每一个工作或者说功能就是插件目标
2.2 常用插件
maven-compile-plugin:编译源代码
maven-dependency-plugin:引用jar包
maven-archetype-plugin:构建maven项目模板
具体可查看官方文档:http://maven.apache.org/plugins/