Maven概述与作用
Maven概述
- 到目前为止我们学习Java过程中遇到一些问题
- 使用的开发工具是idea,流行的集成开发环境还有其他工具,但是不同的工具对于项目的组织结构也存在差异
- 一个项目从开发到测试以及部署上线整个流程如何统一管理
- 一个项目中需要很多一些第三方的依赖(jar包),而且jar包之前还有存在相互依赖的情况
- 一个大型项目可能会由不同的模块构成,模块和模块之前也存在依赖的情况,如何统一管理这些模块
对于以上问题,我们需要一个能够进行:统一依赖管理,构建管理,项目信息管理工具。对于这种工具的需求使得目前在软件市场提供了一些对应解决方案:
根据目前的市场占有情况来看,主要以Maven居多;
Maven核心用途
Maven提供了以下的解决方案:
- 统一项目结构
- 依赖管理(jar包管理),如果要使用A.jar包,但是A.jar的内部又使用了B.jar的一些技术,那么在使用A.jar时就需要将B.jar包也一起导入项目,那么此时A.jar和B.jar之间就是一个依赖关系,在jar包使用中可以存着多层的依赖
- 统一构建管理
- 项目多模块管理
Maven提供的是一种企业级的工程化解决方案(专业)
Maven安装配置
Maven安装
-
打开maven官网:
http://maven.apache.org
-
找到下载链接:
-
存放到磁盘的某个位置(例如:D:\soft\java\apache-maven-3.6.1)并解压缩,目录结构如下:
-
配置环境变量
-
MAVEN_HOME:设置maven安装所在目录
-
Path:在path变量后追加%MAVEN_HOME%\bin
-
检查配置是否成功:
CMD->mvn -v
注意事项:
由于Maven的使用依赖java运行环境,因此系统中一定要有JRE以及配置过JAVA_HOME
Maven仓库介绍
Maven的一个重要使用场景在于依赖管理(Jar包管理),当项目中的功能实现需要依赖其他第三方插件时,可以从maven仓库去下载使用,Maven依赖管理的原则如下:
注意事项:
本地仓库:默认用于存储依赖,源码或文档的一个本地缓存,本地仓库的默认地址位于用户目录的.m2目录(默认位于系统盘:${user.home}/.m2/repository)
私有仓库:也称为maven私服指的是企业内部,自己搭建的maven服务器,企业的开发者需要相关依赖时,可从该私有仓库下载,一般常见于一些对安全性要求较高的企业(例如:军工,政府事业单位)
远程仓库:一般位于外网,由maven官方提供的一个中央仓库
Idea中使用Maven
Idea配置Maven
-
打开设置(New Project Settings)
在对maven进行配置时需要注意选择针对所有项目生效的配置For new projects(全局配置),而非For current projects(当前项目配置)
Idea中创建Maven项目
-
选择项目原型
注意事项:
- 原型只是提供参考目录结构,可以不选择任何原型创建maven项目
- 对于web项目的原型选择
org.apache.maven.archetypes:maven-archetype-webapp
-
编辑项目信息
-
对于项目中不同资源存储目录的说明
pom.xml文件介绍
POM概述
POM全称:Project Object Model,以对象的形式对项目进行管理,是maven的核心,pom中主要包含:项目的基本信息(组织,域名,版本,主页等),依赖管理(jar包管理),构建工具(插件)等。
主要是在 中填写依赖信息
坐标
由于maven仓库中存在巨多的依赖,如果需要精准的找到指定依赖就需要有一个详细的地址,该地址被作为坐标进行识别:
一个标准的依赖坐标如下:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.26</version>
</dependency>
dependency:依赖根标签(位于<dependencys>下)
groupId:组织id(坐标的x轴)
artifectId:项目id(坐标y轴)
version:版本号(可以使用${xxx.version}统一版本管理)