什么是Maven ??? (以及关于依赖,中央仓库,国内源)

文章目录

  • 什么是 Maven
  • 创建第一个 Maven 项目
  • 依赖管理
  • Maven 的仓库
  • Maven 如何设置国内源

什么是 Maven

Maven :用于构建和管理任何基于java的项目的工具。**说白了就是管理 Java项目 的工具。**我们希望我们已经创建了一些东西,可以使Java开发人员的日常工作更容易,并且通常有助于理解任何基于Java的项目。关于 Maven 的详细信息可以查看 Apache Maven 的网站:Maven – 简介 (apache.org)

Maven 是一个独立工具,和 IDEA 没有任何关系,只不过 IDEA 把 Maven 给集成了,可以直接用;

举个例子:比如早期时候买火车票,我们买火车票是需要到火车站的售票窗口买,后来,有了 12306 之后,直接在12306上买就可以了,所以,12306只是将买火车票的操作给集成了

创建第一个 Maven 项目

在这里插入图片描述

在这里插入图片描述

注意:如果没有 Maven 按钮,根据下图步骤添加:

在这里插入图片描述
在这里插入图片描述

Maven 常用命令的含义:

在这里插入图片描述

打包演示:
在这里插入图片描述

点击 clean 就可以删除掉

依赖管理

什么是依赖:依赖就是项目在运行是所需要的外部资源(jar包)称为依赖

Maven 是一个项目管理的工具,通过给 pom.xml 文件进行配置,来获取jar包,而不用手动的去添加。

pom.xml 就是 Maven 的配置文件,用来描述项目的各种信息

依赖配置

1.在 pom.xml 文件中输入 标签

2.在 标签中 输入 标签

3.在 标签中添加资源的坐标

但是,我们往往是不需要自己去动手输入的,直接从中央仓库中复制,在 IDEA 中粘贴即可,操作步骤如下:

在这里插入图片描述

举个例子:比如在添加 JDBC 依赖时:

①.打开 Maven Repository 搜素 mysql,获取 JDBC 资源(关于什么是Maven Reposity,在下面有详细的讲解)

Maven Repository :Maven Repository: mysql (mvnrepository.com)

在这里插入图片描述

②.选择你自己的 Mysql 对应的版本(我的是版本5)

在这里插入图片描述
③.复制 Maven 中的所有内容

在这里插入图片描述

④.粘贴到 pom.xml 文件中,复制完直接粘贴即可,所以,就不用我们再手动输入标签了

在这里插入图片描述

⑤.点击刷新(这两个随便一个都可以),进行下载,这样才算真正的引入依赖

在这里插入图片描述

如果像我这样出现黄色的下划线,不用管,只要不报出红色的错误就没事

在这里插入图片描述

从这个选项中就可以查看我们的依赖有没有引入成功

在这里插入图片描述

Maven 的仓库

Maven仓库分为:本地仓库 和 远程仓库

远程仓库又分为:中央仓库 和 私有服务器

1️⃣本地仓库:自己计算机上的一个目录(用来存储jar包)

当项目引入对应依赖 jar 包后,首先会先查找本地仓库,如果本地仓库有,则直接加载到项目中,如果没有,则根据坐标去中央仓库中下载对应的 jar 包到本地仓库,这个也是只会在第一次使用时下载一遍。

本地仓库路径如下:

在这里插入图片描述
在这里插入图片描述

2️⃣中央仓库:

中央仓库:Maven 软件中内置的一个远程仓库,有 Maven 团队维护,全球唯一,服务于整个互联网

仓库路径如下:

Central Repository: (maven.org)

中央仓库的查询界面:中央仓库给我们提供了一个界面版本的,也就是上面我们刚才引入 mysql 依赖的网站:Maven Repository: Hortonworks (mvnrepository.com)

查询界面和中央仓库中的内容可能会出现不一致,查询界面会有一定的滞后性,以中央仓库为准,但是一般来说都是很准的。

3️⃣国内源

中央仓库的服务器在国外,所以,在访问时候会比较卡,甚至访问失败,所以在使用时就比较麻烦,所以就有了一些国内源

国内源也是私有服务器,但是,它是在国内公开使用的,就像 阿里,腾讯这些大公司都会提供一些国内源,它是将一些国外的仓库搬到了中国大陆的服务器上,所以,国内源也是一种中央仓库,而它的下载速度会比较快。

4️⃣私有服务器

中央仓库和国内源都是公开的,所有人都可以看到,而私有服务器是公司独立使用的。

私有服务器也称为私服,一般由公司搭建的私有仓库

有了私服之后,Maven下载依赖的顺序就又发生了变化:

1.先从本地仓库中获取,本地仓库存在,直接从本地仓库中加载

2.如果本地仓库没有,就去私服仓库中寻找,如果存在,则从私服仓库中下载到本地仓库中

3.如果私服仓库中没有,就去中央仓库中下载,如果中央仓库中不存在,就报错

4.如果中央仓库中存在,就先下载到私服仓库中,再缓存到本地仓库中,然后再进行下载

同样,这个资源也是只在第一遍使用时下载即可,后续就不需要再下载了。

Maven 如何设置国内源

修改 Settings 文件:

1️⃣.根据路径,打开本地仓库中的 setting 文件

在这里插入图片描述

2️⃣.修改 settings 文件

在这里插入图片描述

在 settings 标签里面的 里面添加标签内容

在这里插入图片描述

内容如下:

        <mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>

如果没有 settings 文件, 我给大家上传了一个,直接粘贴到该目录中即可

settings文件链接:gitee网站-settings文件

注意:这个国内源只是在我们当前自己学习的过程中使用,如果是在公司中的话,直接找同事要公司的 settings 文件即可,这个里面会包含公司的私服地址,账号和密码等等。

这两个地址也可以修改,因为,随着我们使用的时间越长,本地仓库中的东西会越来越多,建议可以放到D盘中,但是名字不要包含中文:

在这里插入图片描述

修改过程:

1.进入当前你自己的Maven配置的目录中,也就是.m2目录

2.将 .m2 目录中所有的内容拷贝到你指定的目录中(随意指定),我的就是在 D 盘当中

3.**修改 IDEA 中第一个地方的配置:**也就是上述图片中的两个路径,选择第二步中指定的新的 .m2 路径,一个指定 settings文件,一个 .m2 目录

4.修改 IDEA 中第二个地方的配置:
在这里插入图片描述

在这里插入图片描述
因为,在第一个配置中,修改的是当前项目中的 Maven 配置,如果新建一个项目的话,还得再重新修改,而在第二个配置中,就是永久修改,就算创建了新的项目,也不需要再进行修改了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/317427.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

paddle v4 hubserving 部署

环境准备&#xff1a;https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.7/deploy/hubserving#24-%E5%90%AF%E5%8A%A8%E6%9C%8D%E5%8A%A1 服务器启动命令 hub serving start -c deploy/hubserving/ocr_system/config.json客户端请求 python tools/test_hubserving.…

ImportError: cannot import name ‘is_npu_available‘ from ‘accelerate.utils

在做LoRa微调使用peft库的时候出现了下面的错误&#xff0c; ImportError: cannot import name is_npu_available from accelerate.utils 解决方法&#xff1a; pip uninstall peft pip install peftgithttps://github.com/huggingface/peft.git

知识库:提升客服效率的利器

相信大家都有过这样的经历&#xff1a;在需要帮助或解决问题时&#xff0c;与客服沟通却遇到了冗长的等待时间、低效的回答和重复的解决方案。这些问题不仅令人沮丧&#xff0c;也给企业带来了巨大的挑战。然而&#xff0c;随着技术的发展&#xff0c;客服系统中的知识库正逐渐…

tp8/6 插件PhpOffice\PhpSpreadsheet导入表格

一、安装 composer require phpoffice/phpspreadsheet 官网&#xff1a;phpoffice/phpspreadsheet - Packagist 二、代码 <?php namespace app\services\upload\model; use app\services\BaseServices; use \PhpOffice\PhpSpreadsheet\Spreadsheet; use \PhpOffice\Php…

linux(mysql下载以及操作)

下载mysql 查看镜像 docker images 下载MySQL镜像 mysql/mysql-server:8.0 创建文件夹&#xff0c;创建配置文件和放数据文件 mkdir -p /data/mysql/{conf,,data} 创建配置文件 my.cnf 写入配置文件my.cnf的代码 [client] default-character-setutf8[mysql] de…

jar包反编译

tips&#xff1a;下载地址在评论区 一、解压出来单击.exe文件 二、 将jar包拖到灰色区域 如图所示 三、保存 1.File->Save All Sourses->解压缩 2.快捷键CtrlAltS

大创项目推荐 深度学习动物识别 - 卷积神经网络 机器视觉 图像识别

文章目录 0 前言1 背景2 算法原理2.1 动物识别方法概况2.2 常用的网络模型2.2.1 B-CNN2.2.2 SSD 3 SSD动物目标检测流程4 实现效果5 部分相关代码5.1 数据预处理5.2 构建卷积神经网络5.3 tensorflow计算图可视化5.4 网络模型训练5.5 对猫狗图像进行2分类 6 最后 0 前言 &#…

dp80之常州灵衡—抗凝剂电子秤__modbus读写例子(1)

读重量&#xff0c;我们是40001/40002,2个寄存器存放32的有符号整型数 01 地址 03 读寄存器功能码 00 00 地址 00 02寄存器个数 C4 0B为校验 仪表返回 01 地址 03 读寄存器功能码 04 寄存器个数 02 F8 00 00 为数据 7A 7A为校验码&#xff0c; 02 F8 00 00是这么处理的…

适合 C++ 新手学习的开源项目——在 GitHub 学编程

作者&#xff1a;HelloGitHub-小鱼干 俗话说&#xff1a;万事开头难&#xff0c;学习编程也是一样。在 HelloGitHub 的群里&#xff0c;经常遇到有小伙伴询问编程语言如何入门方面的问题&#xff0c;如&#xff1a; 我要学习某一门编程语言&#xff0c;有什么开源项目可以推荐…

Sharding Sphere 教程 简介

一 文档简介 1.1 分库分表诞生的前景 随着系统用户运行时间还有用户数量越来越多&#xff0c;整个数据库某些表的体积急剧上升&#xff0c;导致CRUD的时候性能严重下降&#xff0c;还容易造成系统假死。 这时候系统都会做一些基本的优化&#xff0c;比如加索引…

CentOS 7 实战指南:文件操作命令详解

写在前面 想要快速掌握 CentOS 7 系统下的文件操作技巧吗&#xff1f;不用担心&#xff01;我为你准备了一篇详细的技术文章&#xff0c;涵盖了各种常用的文件操作命令。无论您是初学者还是有一定经验的用户&#xff0c;这篇文章都能帮助您加深对 CentOS 7 文件操作的理解&…

中国供应链,出海大时代

尽量优化、打通跨境电商每一个参与方的物流、商流、信息流、资金流是电商供应链出海的解题之法。这个过程中数智化便是打通这些节点的钥匙。 作者|斗斗 编辑|皮爷 出品|产业家 “速卖通加持&#xff0c;阿里国际零售商业收入同比上涨73%”“拼多多发布Q3财报同比增长94%…