Maven是我们学习后面框架要先学习的前置知识,我也是在几个月之前浅浅的学习了一下Maven,现在复习重新仔细学习一下Maven。
一、教学视频推荐
1、黑马程序员Maven全套教程
推荐原因:讲的很干练很适合想快速入门maven的朋友,而且日期很新。我当初就是看这个视频入门的大家可以放心食用。
2、尚硅谷Maven零基础入门教程(一套轻松搞定maven工具)
只能说这个视频很老18年的而且使用的工具不是idea使用还是推荐黑马的没了就动力节点20年的。
二、Maven介绍及安装配置
1、使用Maven能给我们带来什么好处:
- Maven 是目前最流行的自动化构建工具,对于生产环境下多框架、多模块整合开发有重要作用,Maven 是一 款在大型项目开发过程中不可或缺的重要工具。
- Maven 可以整合多个项目之间的引用关系,我们可以根据业务和分层需要任意拆分一个项目;
- Maven 提供规范的管理各个常用 jar 包及其各个版本,并且可以自动下载和引入项目中;
- Maven 可以根据指定版本自动解决 jar 包版本兼容问题;
- Maven 可以把 jar 包所依赖的其它 jar 包自动下载并引入项目。
举个栗子:之前我们了解数据库的时候是不是要自己去导jar包,而且版本必须和你数据库版本兼容没了还是跑不起来。可是有了Maven之后你只要导入依赖,Maven就会自动帮你把jar包导入你的项目。
2、安装 Maven 环境
1) 确保安装了 java 环境:maven 本身就是 java 写的,所以要求必须安装 JDK。 查看 java 环境变量:echo %JAVA_HOME%
2)下载并解压 maven 安装程序: http://maven.apache.org/download.cgi
3) 配置 Maven 的环境变量: MAVEN_HOME=d:/apache-maven-3.8.4 或者 M2_HOME=d:/apache-maven-3.8.4path=%MAVEN_HOME%/bin; 或者%M2_HOME%/bin;
4)验证是否安装成功: mvn –v
3、Maven配置(提速)
其实下载完Maven之后是可以直接使用的,但是你要下载别的jar或者新的jar的时候你会发现那网速很慢,没办法因为中央仓库在国外,这个大家应该是心照不宣了,因此在国内我们都是用镜像仓库来保证直接的下载速度。比较常用的阿里巴巴的仓库。
1)仓库类型:
![image-20220219114921879](https://gitee.com/chenzhiwei0320/repository/raw/master/img/202202191552859.png)
2)远程镜像配置:
加在Setting.xml中的mirrors节点中:
4、Maven常用命令
![image-20220219150408116](https://gitee.com/chenzhiwei0320/repository/raw/master/img/202202191552187.png)
在idea中就不用敲命令了有相对应的界面。
三、Maven核心概念
1、 Maven 工程约定目录结构
maven 中约定的目录结构:
**Hello **
|—src
|—|---main
|—|---|—java
|—|---|—resources
|—|---test
|—|---|—java
|—|---|—resources
|—pom.xml
说明:Hello:根目录,也就是工程名
src:源代码
main:主程序
java:主程序的 java 源码
resources:主程序的配置文件
test:测试程序
java:测试程序的 java 源码
resources:测试程序的配置文件
pom.xml:Maven 工程的核心配置文件。
2 、POM 文件
即 Project Object Model 项目对象模型。Maven 把一个项目的结构和内容抽象成一个模型,在 xml 文件中 进行声明,以方便进行构建和描述,pom.xml 是 Maven 的灵魂。所以,maven 环境搭建好之后,所有的学习和 操作都是关于 pom.xml 的。
3 、仓库
1) 仓库的概念
现在我们对maven工程有一个大概的认识了,那现在思考一个问题,maven怎么就这么神奇,我们写完的工 程交给他之后,他就能够自动帮我们管理,我们依赖的jar包它从哪儿获取呢?有同学说已经安装了,在它的安装 包里啊,大家可以看一下maven下载下来才8M,我们需要的jar包有时候都几百兆甚至几个G,它从哪儿弄去呢? 其实,maven有仓库的概念。在Maven中,任何一个依赖、插件或者项目构建的输出,都可以称之为构件。Maven 核心程序仅仅定义了自动化构建项目的生命周期,但具体的构建工作是由特定的构件完成的。而且为了提高构建 的效率和构件复用,maven把所有的构件统一存储在某一个位置,这个位置就叫做仓库。****
2)仓库存什么
- Maven 的插件,插件也是一些 jar,这些 jar 可以完成一定的功能。
- 我们自己开发项目的模块
- 第三方框架或工具的 jar 包
3 )仓库的类别
本地仓库:存在于当前电脑上,默认存放在~.m2\repository中,为本机上所有的Maven工程服务。你也可以 通过Maven的配置文件Maven_home/conf/settings.xml中修改本地仓库所在的目录。 ~ 是用户的主目录,windows系统中是 c:/user/登录系统的用户名
远程仓库:分为为全世界范围内的开发人员提供服务的中央仓库、为全世界范围内某些特定的用户提供服务的 中央仓库镜像、为本公司提供服务自己架设的私服。中央仓库是maven默认的远程仓库,其地址 是:http://repo.maven.apache.org/maven2/
中央仓库:包含了绝大多数流行的开源Java构件,以及源码、作者信息、许可证信息等。一般来说,简单的 Java项目依赖的构件都可以在这里下载得到。
私服是一种特殊的远程仓库,它是架设在局域网内的仓库服务,私服代理广域网上的远程仓库,供局域网内的 Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓 库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件 上传到私服上。
分类说明:
1)本地仓库:本机当前电脑上的资源存储位置,为本机上所有 Maven工程提供服务**
2)远程仓库:不在本机上, 通过网络才能使用。多电脑共享使用的。
①:中央仓库:通过Internet访问,为全世界所有 Maven工程服务。 最权威的。
②:中央仓库的镜像:架设在不同位置,欧洲,美洲,亚洲等每个洲都有若干的服务器,为中央仓库分担流量。减轻中央仓库 的访问,下载的压力。所在洲的用户首先访问的是本洲的镜像服务器。**
③:私服:在局域网环境中部署的服务器,为当前局域网范围内的所有 Maven工程服务。公司中常常使用这种方式。**
四、idea中Maven配置已经怎么创建Maven项目
1、idea配置Maven
在File---->Settings:设置 maven 安装主目录、maven 的 settings.xml 文件和本地仓库所在位置。
2、创建Maven项目
File–>New–>Module…
填写 maven 工程的坐标
填写工程名和存储路径
推荐一个Maven搜索网站:Maven搜索-最快捷的Maven搜索-由源码阅读网提供技术服务 (coderead.cn)