Maven是一个项目管理工具,基于POM(Project Object Model,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告文档和项目管理工具软件,Maven可以提高我们的开发效率,减少我们的开发Bug。Maven主要有两个功能:项目构建,管理依赖。
1. 创建一个Maven项目
Idea已经集成了Maven我们可以直接使用。
创建项目时 在构建系统这一栏选择Maven创建即可。
2. Maven的功能
Maven主要有两个功能:项目构建,管理依赖。
2.1 项目构建
Java项目完成后需要打成jar包,这个过程是比较麻烦的,我们的Maven就可帮我们做这件事:
在idea的右上角,有一个Maven选项,我们打开:
双击package即可自动打包。
2.2 依赖管理
我们创建好Maven项目后,会自动生成一个pom.xml文件。Maven通过pom.xml文件获取jar包,而不是手动去添加jar包,获取的jar包就是依赖。
例如我们学习MySQL时会去下载MySQL的jar包,我们使用Maven只需在pom.xml中引入mysql-connector-java的依赖就可以了
<dependencies>
<!--⾥⾯放置项⽬的依赖坐标, 可为多个 -->
</dependencies>
添加mysql-connector-java的坐标
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
</dependencies>
pom文件改动后,右上角会出现一个刷新,我们点击它即可自动导入MySQL的jar包:
如果某个依赖需要另一个依赖,Maven会自动导入相关的依赖。依赖的坐标就相当于一个网络上的资源地址,会告诉Maven去从哪里下载这个jar包。
3. Maven仓库
3.1 什么是Maven仓库
在Maven中,根据groupId、artifactId、version的配置,来唯⼀识别⼀个jar包,缺⼀不可.
当我们在pom⽂件中配置完依赖之后,点击刷新,Maven会根据坐标的配置,去仓库⾥寻找Jar包,并把他下载下来,添加到项⽬中.这个Jar包下载的地⽅就称为仓库.
仓库分为本地仓库和远程仓库,远程仓库分为中央仓库和私有服务器
中央仓库:全球唯一:Central Repository: (maven.org)
私有服务器:其他第三方维护的仓库
本地仓库:自己电脑上本地的Maven仓库,我们添加依赖时,Maven会自动把远程仓库的依赖下载到本地仓库
可以通过:Maven Repository: Search/Browse/Explore (mvnrepository.com)
查找需要的jar包
打开网站,搜索需要的jar包,例如MySQL
选择需要的版本,点击版本号
就可以看到下面有对应的坐标代码,我们只需复制到我们的项目文件即可
3.2 jar包下载路径
添加依赖时,会先去本地仓库查找,如果本地仓库没有,就会去中央仓库查找,中央仓库也没有则会下载失败然后报错,项目使用时,会从本地仓库获取。本地仓库的位置可以在idea查询:
3.3 私有服务器
私有服务器一般由公司团队搭建,有了私有服务器Maven依赖在本地没有的情况下就会先尝试在私有服务器中查找,最后再到中央仓库查找,用户设置文件就可以配置私服的地址。由于中央仓库的服务器在国外,下载非常慢,所以我们可以把国内的公共服务器配置为自己的私服。