Maven提供一套标准化的项目结构,一套标准化构造体系(编译,测试,打包,发布),一套依赖管理体制。
(1)所有的IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven可以通用。
jmkvh(2)一套标准化的构建流程
Maven提供一套命令来完成项目的构建(编译+测试+打包+发布)
(3)一套依赖管理体制
管理你项目所依赖的第三方资源(jar包,插件)
原来:下载jar包——>复制jar包到项目中——>将jar包加入工作环境
现在:坐标配置
Maven简介
Apache Maven是一个项目管理和构建的工具,基于项目对象模型(POM),通过一小段描述信息来管理项目的构建,报告,文档。
仓库有三种:
(1)本地仓库:自己计算机上的一个目录
(2)中央仓库:Maven团队维护的全球唯一仓库
(3)远程仓库(私服):公司团队搭建的私有仓库
如果项目中使用坐标引入对应jar包之后,首先会在本地的库里面查是否有对应的jar包:如果有就在项目里面直接找,如果没有则去中央仓库下载jar包到本地仓库,还可以搭建远程仓库:本地仓库->远程仓库->中央仓库
常用命令
mvn_compile编译
mvn_test:测试
mvn_package:打包
mvn_install:安装
生命周期
Maven构建项目生命周期是指一次构建过程中经历的事件
其中划分为3套:
1)clear:清理工作
2)default:核心工作(编译,测试,打包,安装)
3)site:发布报告,发布站点
同一个生命周期,执行后边的命令,前面的所有命令会执行。
坐标
Maven的坐标是资源的唯一标识,使用坐标来定义项目或者引入项目中需要的依赖。
坐标组成:
groupid:定义当前maven项目隶属的组织名称(域名反写)
artifactid:定义当前Maven的项目名称(模块名称)
version:定义当前项目的版本号
依赖管理
1.在pom.xml中编写 <dependencies>
标签
2.在<dependence>
标签中使用<dependency>
引入坐标
(坐标搜索:需要坐标名 maven)
3.定义坐标的groupld,artifactld,version
4.点击刷新按钮使得坐标生效
或者按着alt+insert
依赖范围
通过设置坐标的依赖范围(scope)来设置对应jar包的作用范围:编译环境,测试环境和运行环境.
依赖范围 | 编译路径 | 测试路径 | 运行路径 | 例子 |
---|---|---|---|---|
compile | y | y | y | logback |
test | y | junit | ||
proviede | y | y | servlet-api | |
runtime | y | y | jdbc | |
system | y | y | 存储在本地的jar包 | |
import | 引入DependencyManagement |