1. Maven简介
Maven是专门用于管理和构建Java项目的工具,官网:http://maven.apache.org/ 。它的主要功能有:
1.1 :satisfied::smirk: 标准化的项目结构
每一个开发工具(IDE)都有自己不同的项目结构,它们互相之间不通用。比如我再eclipse中创建的目录,无法在idea中进行使用,这就造成了很大的不方便。
Maven提供了一套标准化的项目结构,所有的IDE使用Maven构建的项目完全一样,所以IDE创建的Maven项目可以通用。
1.2 :ribbon::nail_care: 标准化的构建流程(编译,测试,打包,发布……)
如上图所示我们开发了一套系统,代码需要进行编译、测试、打包、发布,这些操作如果需要反复进行就显得特别麻烦,而Maven提供了一套简单的命令来完成项目构建。
1.3 :baby::dagger:方便的依赖管理机制
依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件)。比如你需要JDBC和Druid的话,就要去网上下载对应的依赖包,复制到项目中,还要将jar包加入工作环境这一系列的操作。如下图所示
而Maven使用标准的 ==坐标== 配置来管理各种依赖,只需要简单的配置就可以完成依赖管理。
如上图右边所示就是mysql驱动包的坐标,在项目中只需要写这段配置,其他都不需要我们担心,Maven都帮我们进行操作了。是不是简单了不少??
2. 仓库
我们创建Maven项目,在项目中使用坐标来指定项目的依赖,那么依赖的jar包到底存储在什么地方呢?其实依赖jar包是存储在我们的本地仓库中。而项目运行时从本地仓库中拿需要的依赖jar包。
仓库分类:
-
本地仓库:自己本地计算机上的一个目录
-
中央仓库:由Maven团队维护的全球唯一的仓库。基本上你能想到的jar包,这里都有
- 地址: https://repo1.maven.org/maven2/
-
远程仓库(私服):一般由公司团队搭建的私有仓库
当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:
- 如果有,则在项目直接引用;
- 如果没有,则去中央仓库中下载对应的jar包到本地仓库。
当然如果搭建有远程仓库,则jar包的查找顺序则变为:
3. Maven安装配置
3.1 :innocent::cake:下载安装包
:sunny:官网下载:https://maven.apache.org/download.cgi
:snowflake:链接:https://pan.baidu.com/s/1vzSed4nyCXsjV3zCV9brtQ 提取码:0tiw
:turtle::cow2:解压 apache-maven-3.6.1.rar 既安装完成
建议解压缩到没有中文、特殊字符的路径下。记住你的目录。
解压缩后的目录结构如下:
- bin目录 : 存放的是可执行命令。mvn 命令重点关注。
- conf目录 :存放Maven的配置文件。
settings.xml
配置文件后期需要修改。 - lib目录 :存放Maven依赖的jar包。Maven也是使用java开发的,所以它也依赖其他的jar包。
3.2 :alien::collision: 配置环境变量
此电脑
右键 --> 高级系统设置
--> 高级
--> 环境变量
在系统变量处新建一个变量 MAVEN_HOME
在 Path
中进行配置
打开cmd进行验证,出现如图所示表示安装成功:
3.3 :stuck_out_tongue_closed_eyes::open_mouth:配置本地仓库
修改 conf/settings.xml 中的 <localRepository> 为一个指定目录作为本地仓库,用来存储jar包。我的是:
当然如果你不配置的话,会有一个默认本地仓库目录:
3.4 :joy: :facepunch:配置阿里云私服
中央仓库在国外,所以下载jar包速度可能比较慢,而阿里公司提供了一个远程仓库,里面基本也都有开源项目的jar包。
修改 conf/settings.xml 中的 <mirrors>标签,为其添加如下子标签:
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
4. Maven常用命令
compile :编译
clean:清理
test:测试
package:打包
install:安装
这不是我要详细讲的,具体参考其他资料
5. IDEA使用Maven
以后开发中我们肯定会在高级开发工具中使用Maven管理项目,而我们常用的高级开发工具是IDEA,所以接下来我们会讲解Maven在IDEA中的使用。
5.1 :black_nib::straight_ruler: IDEA中配置Maven环境
我们需要先在IDEA中配置Maven环境:
- 选择 IDEA中 File --> Settings
- 搜索Maven
- 设置 IDEA 使用本地安装的 Maven,并修改配置文件路径
5.2 :violin::briefcase:Maven 坐标
创建Maven项目要用到Maven坐标,所以先讲一下什么是Maven坐标。
什么是Maven坐标?
- Maven 中的坐标是==资源的唯一标识==
- 使用坐标来定义项目或引入项目中需要的依赖
Maven 坐标主要组成
- groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
- artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
- version:定义当前项目版本号
如下图就是使用坐标表示一个项目:
==注意:==
- 上面所说的资源可以是插件、依赖、当前项目。
- 我们的项目如果被其他的项目依赖时,也是需要坐标来引入的。
5.3 :fries::hamburger:IDEA 创建 Maven项目
-
新建模块
-
创建好的项目目录结构如下:
-
编写 HelloWorld,并运行