Maven
Maven是一个项目管理工具。基于POM(Project Object Model,项目对象模型)的概念,Maven可以通
过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
大白话: Maven是一个项目管理工具, 通过pom.xml文件的配置获取jar包,而不用手动去添加jar包。
Maven提供的功能非常多, Maven在咱们课程中的体现主要是以下两个方面:
1. 项目构建
2. 管理依赖
IDEA本身已经集成了Maven, 我们可以直接使用, 无需安装
File -> New -> Project,创建一个maven项目。
idea的版本不一样这里也会有些区别。
我们找到pom.xml文件,这里就是maven所在的地方:
在idea接近右上角地方我们可以看到有一个maven框,双击点击package,跳出BUILD SUCCESS意味着运行成功。
我们像引入java包,就不用去设置里手动放了,直接在pom.xml里添加这个依赖,刷新就导入成功了:
<dependencies><dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.33</version> </dependency></dependencies>
插件:Maven help
当项目比较复杂时, 我们就会有Jar包冲突的问题, 这时候就需要去解决依赖冲突. 解决冲突之前, 需要先找到冲突, 我们可以使用Maven Help插件来观察包和包之间的依赖关系。
安装方法:在settings>plugins里选择marketplace在里面搜索Maven Helpr
下载安装重启IDEA。
在底下出现了Dependency ANalyzer,说明安装成功了。
在这里可以看见引入了多少依赖,也可以在这里注释掉暂不需要使用的依赖(选中依赖点击右键->exclude,不等同于删除依赖)。
Maven 仓库
在Maven中, 根据 groupId、artifactId、version 的配置, 来唯一识别一个 jar 包, 缺一不可.
当我们在pom文件中配置完依赖之后, 点击刷新, Maven会根据坐标的配置, 去仓库里寻找Jar包, 并把他
下载下来, 添加到项目中. 这个Jar包下载的地方就称为仓库.
<dependency>
<groupId>mysql</groupId>//组织id
<artifactId>mysql-connector-java</artifactId>//项目id
<version>8.0.30</version>//版本信息
</dependency>
仓库分为远程仓库(中央仓库,私服)和本地仓库两类。
中央仓库
中央仓库: maven 软件中内置一个远程仓库地址,就是中央仓库,服务于整个互联网. 由 Maven 团队
维护,全球唯一.
仓库地址:https://repo1.maven.org/maven2/
可以通过https://mvnrepository.com 这个网站来查询并下载
我们可以把自己写好的Jar包上传到中央仓库(具备一定的要求), 也可以从中央仓库下载Jar包
像这个就是我们引用的中央仓库。
本地仓库
我们引用的中央仓库下载的依赖会保存在无名的本地仓库里,这需要一段时间。
这里就是我们本地仓库存放位置,我们也可以手动引用maven依赖和设置settings来进行下载依赖。
Maven国内源
由于中央处于都在国外,我们这就得使用到镜像仓库(如阿里巴巴等)从他们的仓库引用下载。
私服
一些公司个人自用建的服务器,引用自己的settings文件。
SpringBoot
Spring官⽅:https://spring.io/
使用IDEA创建springBoot
在官网看到的界面和我们的创建界面:
如果说专业版的IDEA,就不用这么麻烦,就直接有了。
社区版没有的话在以下链接进行下载。

在新建文件里看到有这个出现时,就说明安装好了。
创建好点击下一步,选择添加依赖Spring Web:
最后就可以了:
创建好后:
其中真正有用的是这几个部分:src、pom文件和.gitignore。其他的文件删掉了也不怎么影响运行。
.idea文件在打开别人文件时候要删掉,运行时会自动生成一个适合自己电脑配置的文件。
我们看看pom文件:
前三行都是一些声明,pom文件自动生成的,不用去管它。
第四行是我们的版本号也不用去管。
下面的<parent>就是我们引用的Spring Web的版本,我这里使用的是3.5.3版本。我们可以修改这个来引入不同版本的依赖。
10-15行的代码就是我们新建项目时所填的信息(这里和我上面创建项目信息不一样是因为我重新创建了一个项目……这是新创建的项目)
下面这些时3.3.1版本开始有点,是一些版权、联系信息、链接、开发人员的信息。
这里从上往下分别是java版本和两个依赖(web依赖和单元测试所需依赖)
这是一个打包方式
而在scr文件下有两个文件,main文件放的是项目代码,tese文件放的是测试代码: