一.基本概念
Maven 跨平台的项目管理工具。主要服务于基于java平台的项目构建、依赖管理和项目信息管理。
1.1 项目构建
项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。
理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程。
1.2 依赖管理
依赖指的是jar包之间的相互依赖,依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所需要的jar包,统一管理jar包之间的依赖关系”。1
1.3 使用Maven的好处
代码结构约定—Maven中使用约定,约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定。
过程的周期性—Maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程
文件驱动—只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情
使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。
二.Maven安装
2.1 安装JDK(版本要求1.6+)。java -version 查看JDK版本
2.2 maven下载,解压
Maven目录分析
- bin:含有mvn运行的脚本
- boot:含有plexus-classworlds类加载器框架
- conf:含有settings.xml配置文件
- lib:含有Maven运行时所需要的java类库
- LICENSE.txt, NOTICE.txt, README.txt针对Maven版本,第三方软件等简要介绍
2.3 配置maven的环境变量,配置完是否需要重新初始化环境配置文档
2.4 mvn -v/-version 查看是否安装成功
三.Maven简单使用
3.1 Maven项目目录结构约定
MavenProjectRoot(项目根目录)
|----src
| |----main
| | |----java ——存放项目的.java文件
| | |----resources ——存放项目资源文件,如spring, hibernate配置文件
| |----test
| | |----java ——存放所有测试.java文件,如JUnit测试类
| | |----resources ——存放项目资源文件,如spring, hibernate配置文件
|----target ——项目输出位置
|----pom.xml ----用于标识该项目是一个Maven项目
3.2 Maven项目构建
1)pom.xml配置
2)约定的目录结构
3)mvn clean 清除命令,用于清除编译结果,也就是把编译生成的target文件夹删掉
4)mvn compile 编译命令,使用Maven编译完成之后,在项目根目录下会生成一个target文件夹,里面是编译后的文件
5)mvn package 打包命令,打包完成后会在target文件夹中生成对应的包jar、war。
6)mvn install 编译+打包+将包上传到本地仓库
7)mvn deploy 将对应包发布到远程仓库
四.Maven中心仓库下载到本地的jar包的默认存储位置
1)自定义从Maven中心仓库下载到本地的jar包的默认存放路径。
2)修改settings.xml的<localRepository>存放路径</localRepository>
3)第一次执行"mvn compile"和"mvn clean"这两个命令时,Maven会去中央仓库下载需要的jar包,之后执行这两个命令时,由于所需的jar包已经在本地的仓库中存储,所以就可以直接拿来用了,这样就省去了去中央仓库下载jar包的时间。