maven--架构理念

参考 http://blog.csdn.net/zjf280441589/article/details/53044308

定义

  • Porject: groupId+artifactId+version确定一个工程,groupId可以通过继承获得
  • 工程有3种关系:,,1,依赖传递: 自动加载我们引入的依赖包的依赖
  • 生命周期(抽象的构建):清理、初始化、编译、测试、打包、集成测试、验证、部署和站点生成 …
  • 插件: 每个构建步骤都可以绑定一个或多个插件的目标,maven提供了默认的插件,也可以自定义。
  • 插件目标:插件可以有多个目标(功能),为了复用代码(这种设计真的好吗?)。如mvn compiler:compile,冒号前是插件前缀, 后面是该插件目标(即: maven-compiler-plugin的compile目标).
  • Maven 拥有三套相互独立的生命周期: clean、default 和 site, 而每个生命周期包含一些phase阶段, 阶段是有顺序的

生命周期的阶段phase与插件的目标goal相互绑定,而对于插件本身, 为了能够复用代码,它往往能够完成多个任务, 这些功能聚集在一个插件里,每个功能就是一个目标.

如:$ mvn compiler:compile: 冒号前是插件前缀, 后面是该插件目标(即: maven-compiler-plugin的compile目标).

而该目标绑定了default生命周期的compile阶段:

clean生命周期阶段绑定

生命周期阶段 插件目标

pre-clean -

clean maven-clean-plugin:clean

post-clean -

default声明周期阶段绑定

生命周期阶段 插件目标 执行任务

process-resources maven-resources-plugin:resources 复制主资源文件到主输出目录

compile maven-compiler-plugin:compile 编译主代码到主输出目录

process-test-resources maven-resources-plugin:testResources 复制测试资源文件到测试输出目录

test-compile maven-compiler-plugin:testCompile 编译测试代码到测试输出目录

test maven-surefire-plugin:test 执行测试用例

package maven-jar-plugin:jar 打jar包

install maven-install-plugin:install 将项目输出安装到本地仓库

deploy maven-deploy-plugin:deploy 将项目输出部署到远程仓库

你可能感兴趣的:(工具)