maven基本使用须知
maven是一个项目管理和整合工具,能够帮助开发者完成依赖文件的管理&项目的构建与发布&文档的生成.maven降低能够有效地降低项目开发成本,并且业内也是大范围的使用.
生命周期
maven有三个大的生命周期: clean - default - site.其中最主要的便是default这一步,在clean阶段表示让构建环境回归到第一次构建项目前的状态,default阶段表示对项目真正的处理(编译-测试-打包-发布),而site表示对项目处理完之后,会对项目生成一个文档.
- default(最重要的一点):处理项目部署
- clean: 项目清理阶段
- site:处理项目站点文档相关的工作
default主要的几个步骤
- validate: 验证项目是否正确并且所有必要信息均可用
- compile:对项目的所有源代码进行编译
- test:测试编译后的代码,这些测试不应该要求把代码打包或者部署
- package:把编译好且通过测试的代码进行打包(打成jar包之类的)
- verify:对集成测试的结果进行任何检查,以确保符合质量标准
- install:把打包好的文件安装到本地仓库
- deploy:把构建好的文件复制到远程仓库中区,让该文件能够被共用
仓库
- 本地仓库:是计算机上的一个文件夹,在第一次运行任何maven命令的时候创建.自动保存maven项目中所需要的依赖,可以防止每次打开项目都需要下载项目依赖的情况.
- 中央仓库:maven社区提供的仓库,是所有公开依赖的存储仓库.
- 远程仓库:开发人员自己定制的仓库,便于用户在自己的服务器上存放依赖文件.
maven依赖获取的顺序:本地仓库-远程仓库(中央仓库默认为远程仓库,远程仓库的地址可以自己为已知的远程仓库)
插件
插件是运行在maven生命周期阶段的一段程序,生命周期是概念,生命周期期间的任务便是通过插件来完成.
插件分为:构建型插件&报告型插件
构建型插件:在项目构建的过程中执行的一种插件,这种插件被配置在标签中
报告型插件:在网站生成期间执行,这种插件被配置在标签中
POM文件
pom文件是maven管理项目所依据的主要配置文件,所以pom文件所能配置的范围也必须了然于心.
- 描述父项目的配置信息
- 描述管理项目所需的依赖信息(主要就是项目依赖)
- 描述项目构建所需的配置信息(主要是插件)
- 描述maven自身的profile信息
- 描述项目作为子模块时,子模块的配置信息
- 描述项目deploy的信息
- 描述项目构建环境中的前提条件
- 描述项目持续集成信息
- 描述项目开发者的信息
- 描述源代码控制信息