JavaWeb学习笔记(七)—— maven环境搭建、maven仓库

目录

零、前言

一、Maven

1.什么是maven?为什么要用到maven?

2.maven的核心思想——约定大于配置

3.下载maven

二、配置环境变量

三、maven仓库

3.1 什么是maven仓库

3.2 maven依赖搜索顺序

3.3 设置远程仓库的阿里云镜像

3.4 配置本地仓库


零、前言

借鉴1:maven安装和配置阿里云镜像(各种详细配置) - Yan_Yang - 博客园

借鉴2:【狂神说Java】JavaWeb入门到实战_哔哩哔哩_bilibili

一、Maven

1.什么是maven?为什么要用到maven?

maven是一个项目架构管理工具,对,它只是一个工具,不需要太深入的了解其原理。Maven很强大,不过我们目前能用到的只是它导入jar包的功能。

2.maven的核心思想——约定大于配置

  • 约定不要去违反
  • 根据约定的目录结构去写Javaweb代码

3.下载maven

去官网下载:Maven – Download Apache Maven

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第1张图片

下载Windows版本的Binary压缩包。解压后,出来一个文件夹。

目录结构如下:

 JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第2张图片

唯一需要注意的是conf目录下的settings.xml配置文件。 

 JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第3张图片

 里面需要看的地方也不多。

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第4张图片

二、配置环境变量

系统变量(不是用户变量)处进行如下3个配置:

(1)M2_HOME: maven安装目录下的bin目录

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第5张图片

 JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第6张图片

(2)MAVEN_HOME: 就是maven的目录

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第7张图片

 JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第8张图片

(3)path :加入%MAVEN_HOME%\bin

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第9张图片

 测试一下,在cmd中输入

mvn-version

如下图出来版本号就对了。

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第10张图片

 如果显示mvn不是命令的话说明环境变量配置还未成功。

三、maven仓库

3.1 什么是maven仓库

上面我们学过,对我们来说,maven就是一个帮助我们引入jar包的工具。maven从仓库中引入jar包,仓库又分为两种:

  • 本地仓库
  • 远程仓库 https://mvnrepository.com/
    • 中央仓库 Maven Central Repository Search 
    • Sonatype仓库
    • JCenter仓库

        很多人误以为 远程仓库=中央仓库,其实是不对的!

        JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第11张图片

        中央仓库是远程仓库的其中一个。是由Maven社区提供的,也就是官方的一个。除了中央仓库以外,还由世界各地开发人员提供的非官方远程仓库。

        而上面提供的这个网址 https://mvnrepository.com/ 可以搜索所有远程仓库中注册的jar包。

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第12张图片

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第13张图片

3.2 maven依赖搜索顺序

当我们执行 Maven 构建命令时,Maven 开始按照以下顺序查找依赖的库:

  • 步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
  • 步骤 2 - 在中央仓库中搜索,如果找不到,如果我们还设置了其他远程仓库,则执行步骤 4,如果找到了则下载到本地仓库中以备将来引用。
  • 步骤 3 - 如果其他远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
  • 步骤 4 - 在其他远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)。

3.3 设置远程仓库(只设置了中央仓库)的阿里云镜像

        就是前面提到的conf目录下的settings.xml配置文件。如果我们不配置,我们下载jar包是从国外的远程仓库下载的,下载速度很慢,通过修改配置文件换成阿里云的镜像可以提高下载速度

配置方法:找到未在注释标签内的mirrors,大约在145行左右,接着我们往mirrors标签内添加一个代码段,然后保存


	alimaven
	central
	aliyun maven
	http://maven.aliyun.com/nexus/content/repositories/central/

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第14张图片

PS: 我们只添加了中央仓库的镜像。

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第15张图片

我们的项目可能会报出“依赖 not found”的错误,有两个可能的原因:

        1. 我们想要添加的包不在中央仓库而由别的远程仓库提供(大多数情况下!)。

        2. 我们想要添加的包就是由中央仓库提供,但是中央仓库更新不及时 或者 阿里云的镜像更新不及时。

maven配置,以及项目"Dependency 'xxxx‘ not found"解决过程_lixld的专栏-CSDN博客

3.4 配置本地仓库

本地仓库:jar包放在本地。

远程仓库:每次构建项目要从网上下载jar包。会慢一些

仍然是在conf目录下的settings.xml配置文件中配置。

大概49行这里,

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第16张图片

可以看到,默认的maven本地仓库路径在  ${user.home}/.m2/repository

这里要注意的是,IDEA自带的MAVEN默认的本地仓库也在这个地方

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第17张图片

我还没法确定下图中已经存在的.m2文件夹是IDEA自带的maven创建的还是我刚刚独立下载的maven创建的。所以.m2这个文件夹里repository虽然是空的,但是最好不要随便删掉。

 JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第18张图片

 我们给它修改一下,把本地仓库放到maven的安装目录里面去。

新建一个名为maven_repo的文件夹。

 JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第19张图片

然后将 maven_repo文件夹的地址放入到标签里面去。保存即可。

JavaWeb学习笔记(七)—— maven环境搭建、maven仓库_第20张图片

你可能感兴趣的:(JavaWeb,maven,spring,boot,学习)