http://blog.youkuaiyun.com/zjf280441589/article/details/53044308
http://www.infoq.com
maven
Porject: groupId+artifactId+version确定一个工程
工程有3种关系: <dependency>,<parent>,<modules>
1,依赖传递: 自动加载我们引入的依赖包的依赖
生命周期与插件
生命周期:抽象的构建过程. 包含:清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成 …
插件:任务执行. 每个构建步骤都可以绑定一个或多个插件的目标,而且Maven为大多数构建步骤都编写并绑定了默认插件.可以配置插件定制构建行为, 甚至自己编写插件.
插件:
命令,新建项目的.
Maven 拥有三套相互独立的生命周期: clean、default 和 site, 而每个生命周期包含一些phase阶段, 阶段是有顺序的
生命周期的阶段phase与插件的目标goal相互绑定,而对于插件本身, 为了能够复用代码,它往往能够完成多个任务, 这些功能聚集在一个插件里,每个功能就是一个目标.
如:$ mvn compiler:compile: 冒号前是插件前缀, 后面是该插件目标(即: maven-compiler-plugin的compile目标).
而该目标绑定了default生命周期的compile阶段:
clean生命周期阶段绑定
生命周期阶段插件目标
pre-clean-
cleanmaven-clean-plugin:clean
post-clean-
default声明周期阶段绑定
生命周期阶段插件目标执行任务
process-resourcesmaven-resources-plugin:resources复制主资源文件到主输出目录
compilemaven-compiler-plugin:compile编译主代码到主输出目录
process-test-resourcesmaven-resources-plugin:testResources复制测试资源文件到测试输出目录
test-compilemaven-compiler-plugin:testCompile编译测试代码到测试输出目录
testmaven-surefire-plugin:test执行测试用例
packagemaven-jar-plugin:jar打jar包
installmaven-install-plugin:install将项目输出安装到本地仓库
deploymaven-deploy-plugin:deploy将项目输出部署到远程仓库