1.什么是maven?
maven是java开发过程中,一个项目构建必备的技术;
关于项目构建:
- 导包:将有依赖关系的各种包导入项目中(需要注意版本冲突问题)
- 打包:将项目打成jar包或者war包
- 测试:对项目进行集成测试
- 项目的传递
- 项目的解耦
2.maven的作用
maven 主要用来管理不同包之间的依赖关系,同时maven支持丰富的插件,可以通过不同的插件实现测试,记录日志等功能
3.maven环境的搭建
- 下载maven压缩包:点击打开链接
- 将压缩包解压(解压路径为了避免中文问题,一定要全部为英文)
- 配置环境变量(maven解压路径下的bin目录)
- 通过命令 mvn -version 测试maven是否配置成功
4. 关于maven的安装目录结构
- bin:核心命令目录
- lib:maven的依赖包文件
- conf:maven的配置目录(settings.xml文件用于配置maven项目用到的依赖包仓库)
5.maven项目的目录结构
- 使用maven来管理依赖,需要创建maven项目(即满足maven规范的项目)
- maven项目(约定优于配置)
1. src/main/ java (存放项目的java代码)
2. src/main/resources(存放项目用到的配置文件等)
3. src/test/ java (存放测试过程中使用到的java代码)
4. src/test/resources (存放测试过程中的配置文件等)
5.src 存放编译后的文件(.class)
6.target 存放生成的一些文件(可以清理)
6.使用eclipse创建maven项目的步骤
- 选择创建一个简单的maven项目(跳过骨架(根据不同的骨架生成不同的目录结构)的选择),使用默认的maven项目结构
- Group Id:组id,一般为公司的域名道写(如:com.jd;com.oracle)
- Artifact Id:组中模块的构件id(项目的id)
- version:项目的版本(可以自己更改)
- packaging:打包方式(jar普通项目,war web项目)
- pom.xml文件
1. 三点坐标:groupId、artifactId、version 可以找到任意一个项目
2. 关于依赖信息:只需要使用<dependencie>标签(父标签<dependencies>)以及三点坐标确定所需要的依赖信息
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>easyDaoMvn</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.45</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>repo.org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.2</version>
</dependency>
</dependencies>
3.关于maven的仓库:
1.本地仓库:保存在本地的依赖所需要的文件信息
2.远程仓库:保存在全球服务器上的所有依赖文件
3.中央私服:一般为公司内部服务器上的依赖文件
4.通过maven安装目录下的conf目录中的settings.xml修改仓库的路径
<localRepository>仓库路径</localRepository>
7.maven的生命周期
maven项目不同的生命阶段会执行不同的功能,每个生命周期执行的时候都会把前面的步骤执行一遍
- clean:清理target目录
- compile:编译
- test:集成测试test目录下的代码
- package:打包(jar/war)
- install:将项目安装到本地库
- deploy:将项目发送的远程库