javaEE后端(Maven
Maven
什么是Maven
Maven是一个项目管理工具。基于POM的概念,可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件。
大白话就是Maven是一个项目管理工具,通过pom.xml文件的配置获取jar包,而不用手动去添加jar包。
创建第一个Maven
- 使用idea最新版本进行项目创建,选择maven版本,选择自动添加简单的代码,就可以创建一个Maven文件。
- Maven的核心功能体现在两个方面:项目构建和管理依赖。
- 先说项目构建,Maven会把所有的class文件,全部放在一起,打包成jar包或war包(都是压缩文件,jar包就是开发人员已经写好的一些代码进行打包,放入到其他项目中,可以直接使用其中的类和属性,另外也可以打成可执行jar包, 这样的包就可以通过java -jar命令来执行;war包可以理解为是⼀个web项目,里面是项目的所有东西, 通常用于网站。)
- 再说依赖管理,上面说到, Maven是⼀个项目管理工具, 通过pom.xml文件的配置获取jar包,⽽不用手动去添加jar包,获取的jar包, 其实就是依赖。(依赖: 指当前项目运行所需要的jar包)

其中 dependencies 中间可以添加依赖坐标,点击刷新按钮,引入新加入的依赖jar包。

这些就是导入的依赖jar包。
但是为什么只导入了一个jar包坐标,却引入了两个jar包:
因为依赖传递,当引入一个包,需要另一个包参与,因为Maven的依赖具有传递性,所以会自动把所依赖的其他jar包也一起导入。
依赖排除 当前阶段我们需要依赖的库并不多, 但随着项目的越来越复杂, 库之间的依赖关系也会变得越来越复杂。也许一个jar包在一个项目中使用了不同的版本,会发生冲突,这时就需要排除。
上面的代码图片中注释部分就是一段完整过程,把protobuf当作冲突排除掉了。
Maven Help插件

这时Maven Helper插件,可以帮助我们更好的使用Maven。

这里可以看见引入的jar包,可以进行手动排除冲突的包,代码部分会帮我们自动添加上去。
Maven仓库
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>9.5.0</version>
</dependency>
认识一个jar包的坐标,有groupId、artifactId、version 的配置,去唯一识别一个jar包,缺一不可。
当我们在pom⽂件中配置完依赖之后, 点击刷新, Maven会根据坐标的配置, 去仓库⾥寻找Jar包, 并把他
下载下来, 添加到项目中. 这个Jar包下载的地方就称为仓库
仓库:⽤于存储资源,管理各种jar包
Maven仓库的本质就是⼀个⽬录(⽂件夹),这个⽬录被⽤来存储开发中所有依赖(jar包, 插件等)
Maven仓库分为两⼤类: 本地仓库和远程仓库. 其中远程仓库⼜分为中央仓库, 私服 和其他公共库
本地仓库
本地仓库: ⾃⼰计算机上的⼀个⽬录(⽤来存储jar包)
当项⽬中引⼊对应依赖jar包后,⾸先会查找本地仓库中是否有对应的jar包
- 如果有,则在项目中直接引用
- 如果没有,则去中央仓库中下载对应的jar包到本地仓库

本地仓库地址可以通过Maven配置查看:
File -> Settings
查看该仓库⽬录, 可以看到该⽬录下有很多的jar(最开始是空的, 随着Maven的使⽤, 该仓库下⽂件会越
来越多)
中央仓库
中央仓库: maven 软件中内置⼀个远程仓库地址,就是中央仓库,服务于整个互联⽹. 由 Maven 团队
维护,全球唯⼀.
仓库地址:https://repo1.maven.org/maven2/
可以通过https://mvnrepository.com 这个⽹站来查询并下载
我们可以把⾃⼰写好的Jar包上传到中央仓库(具备⼀定的要求), 也可以从中央仓库下载Jar包
我们可以利用这个地址搜索mysql的对应jar包



赋值这段代码到idea的maven中,可以引入该jar包
Maven设置国内源

原始配置文件会放在C盘的.m2文件夹中,我们可以重新规划路径,防止以后加入过多的jar包占据内存,也有几个G,我们可以把这个文件夹移到其他盘。
更多推荐




所有评论(0)