Maven是一款用于管理和构建Java项目的工具,是apache旗下的一个开源项目。基于项目对象模型(POM),通过一小段描述信息管理项目构建。
- 依赖管理:方便快捷地管理项目依赖的资源(jar包)。
- 项目构建:标准化的跨平台自动化项目构建方式。Maven面板中Lifecycle中的compile用于编译,package用于打包。
- 统一项目结构:提供标准、统一的项目结构。
Maven的结构
Maven底层使用插件完成各项功能。
依赖仓库
仓库:用于存储资源,管理各种jar包。
- 本地仓库:自己计算机上的一个目录。
- 中央仓库:由Maven团队维护的全球唯一的。仓库地址:https://repo1.maven.org/maven2/
- 远程仓库(私服):一般由公司团队搭建的私有仓库。
安装
- 解压Maven的bin压缩包。
- 配置本地仓库:
conf/settings.xml
中的<localRepository>
为一个指定目录。 - 配置私服。
- 配置环境变量:
MAVEN_HOME
为maven的解压目录,并将其bin目录加入PATH环境变量。
Maven坐标
Maven中的坐标是资源(jar)的唯一标识,通过该坐标可以唯一定位资源位置。
使用坐标来定义项目或引入项目中需要的依赖。
<groupId><artifactId><version>
排除依赖
排除依赖:指主动断开依赖的资源,被排除的资源无需指定版本。
<exclusion>
依赖使用范围
规定引入的依赖在哪个文件夹范围内使用。
<scope>
compile(默认) test
生命周期
Maven中有3套相互独立的生命周期:
- clean:清理工作。
- default:核心工作,如:编译、测试、打包、安装、部署等。
- site:生成报告、发布站点等。
每套生命周期包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖于前面的阶段。
clean compile test package install
- clean:移除上一次构建生成的文件。
- compile:编译项目源代码。
- test:使用合适的单元测试框架运行测试(junit)。
- package:将编译后的文件打包,如:jar、war等。
- install:安装项目到本地仓库。