专门用于管理和构建Java的工具,主要功能有如下:
1.提供一套标准化的项目结构
在不同的Java ide上面创建项目结构,比如说IDEA和eclipse这些ide上创建Java项目都有所不同
但是使用Maven创建项目可以使得项目结构标准化,如下图所示就是使用IDEA创建的一个Maven项目
其中src是放源代码(main)和测试代码(test),pom.xml用于存放Maven的项目核心配置文件
2.提供一套标准化的构建流程(编译,测试,打包,发布......)‘
Maven将流程中的操作统统简化了
在Maven项目的右边有如compile(编译),clean(清理),test(运行测试) ,package(打包),install(安装)只需双击即可快速让整个项目动起来
3.提供了一套依赖管理机制
依赖管理:管理项目所依赖的第三方资源(jar包,插件)
比如现在写了一套代码用jdbc操作mysql数据库,在运行前需要在项目里面导入一个mysql对应版本的驱动包也就是说当前项目依赖于mysql驱动包
通常导入第三方资源需要下载jar包,复制jar包到项目,将jar包加入工作环境
jar包动辄几十个,还有可能下载下来后发现版本不对应,十分繁琐
而Maven只需要使用标准的坐标配置管理各种依赖
只需要简单的配置就可以完成依赖管理
如下图所示只需要填好项目隶属组织名称(通常是域名反写)和Maven项目名称(通常是模块名称,例如order-service)以及当前版本号(一套标准坐标配置)再按右边的按钮重新加载一下就可以在左边的外部库里看见对应的jar包
![](https://i-blog.csdnimg.cn/blog_migrate/33be6f9ab6c18b56afa427cbabe1fb66.png)
坐标中还有一项叫做<scope></scope>
可以设置对应jar包的作用范围:编译环境(main目录下),测试环境(test目录下),运行环境(在运行时有效果)
默认是compile,三个环境都有效,test,运行环境无效(如junit)runtime在编译环境(main目录下)无效(如jdbc驱动)
Maven仓库地址:https://mvnrepository.com/
在上面pom.xml写好相应的坐标后,会自动到Maven仓库里面找到并引入对应jar包
Maven仓库分为三种:
本地仓库:本地计算机上一个目录
中央仓库:由Maven团队维护的全球唯一的仓库(免费开源的jar包)
远程仓库:由团队搭建的私有仓库
写好坐标信息后Maven会优先在本地仓库找,找不到就会到中央仓库找,找到就传回来,难怪有时候加载
依赖都卡住,应该是中央仓库的网址被墙了