当前位置: 首页 > news >正文

什么是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 配置,如果新建一个项目的话,还得再重新修改,而在第二个配置中,就是永久修改,就算创建了新的项目,也不需要再进行修改了

相关文章:

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

文章目录 什么是 Maven创建第一个 Maven 项目依赖管理Maven 的仓库Maven 如何设置国内源 什么是 Maven Maven &#xff1a;用于构建和管理任何基于java的项目的工具。**说白了就是管理 Java项目 的工具。**我们希望我们已经创建了一些东西&#xff0c;可以使Java开发人员的日常…...

c++期末考题笔试来咯

最后一道大题题目再现 写一个person类&#xff0c;有姓名&#xff0c;性别&#xff0c;年龄。然后在此基础上派生出教师类和学生类。教师类增加了以下数据&#xff1a;工号&#xff0c;职称&#xff0c;工资。学生类增加了以下数据成员&#xff1a;学号&#xff0c;专业&#…...

目标检测篇:如何根据xml标注文件生成类别classes的json文件

1. 介绍 之前在做目标检测任务的时候&#xff0c;发现很多的数据集仅有数据(只有图片标注的xml文件)&#xff0c;没有关于类别的json文件&#xff0c;为了以后方便使用&#xff0c;这里记录一下 一般来说&#xff0c;yolo标注的数据集&#xff0c;只有第一个是数字类别&#x…...

spring见解2基于注解的IOC配置

3.基于注解的IOC配置 学习基于注解的IOC配置&#xff0c;大家脑海里首先得有一个认知&#xff0c;即注解配置和xml配置要实现的功能都是一样的&#xff0c;都是要降低程序间的耦合。只是配置的形式不一样。 3.1.创建工程 3.1.1.pom.xml <?xml version"1.0" en…...

Uncaught TypeError: Cannot read property ‘snj‘ of null

项目场景&#xff1a; 项目相关背景&#xff1a; 调试项目时&#xff0c;控制台出现红色报错信息 问题描述 问题&#xff1a; 调试项目时&#xff0c;控制台出现如下所示的报错信息&#xff1a; Uncaught TypeError: Cannot read property snj of nullat T.Inj.Ya [as Inj…...

Jenkins基础教程

目录 第一章、快速了解Jenkins1.1&#xff09;Jenkins中一些概念介绍1.2&#xff09;Jenkins和maven用途上的区别1.3&#xff09;为什么使用Jenkins1.4&#xff09;学习过程中的疑问 第二章、安装Jenkins2.1&#xff09;安装之前的准备2.2&#xff09;Windows中Jenkins下载安装…...

嵌入式C语言--WatchDog最全概念

嵌入式C语言–WatchDog最全概念 嵌入式C语言--WatchDog最全概念 嵌入式C语言--WatchDog最全概念一. 什么是Watchdog1&#xff09;什么是“被狗咬”2&#xff09;什么是喂狗 二. 基本思想三. 作用四. 监视目标1) 监视一个进程2&#xff09;监视一个操作系统 五. 系统初始化时关闭…...

数据结构【树篇】(二)

数据结构【树篇】(二&#xff09; 文章目录 数据结构【树篇】(二&#xff09;前言为什么突然想学算法了&#xff1f;为什么选择码蹄集作为刷题软件&#xff1f; 目录树(一)、树的存储(二)、树和森林的遍历——并查集(三)、并查集的优化 结语 前言 为什么突然想学算法了&#xf…...

2024上海城博会|上海国际城市与建筑博览会-官 网

2024上海城博会|上海国际城市与建筑博览会 时间&#xff1a;2024年10月30日-11月1日 地点&#xff1a;上海世博展览馆 主办单位&#xff1a;联合国人居署 上海市住房和城乡建设管理委员会 协办单位&#xff1a;上海世界城市日事务协调中心 展会介绍 上海国际城市与建筑博览…...

Dockerfile - 基于 SpringBoot 项目自定义镜像(项目上线全过程)

目录 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 1.2、打包项目&#xff08;jar&#xff09; 1.3、编写 Dockerfile 文件&#xff0c;构建镜像 1.4、运行镜像并测试 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 a&#xff09;简…...

论文查重降重写成大白话可以吗

大家好&#xff0c;今天来聊聊论文查重降重写成大白话可以吗&#xff0c;希望能给大家提供一点参考。 以下是针对论文重复率高的情况&#xff0c;提供一些修改建议和技巧&#xff0c;可以借助此类工具&#xff1a; 论文查重降重&#xff1a;用大白话解析 一、引言 写论文是每个…...

【WPF.NET开发】WPF中的命令

本文内容 什么是命令WPF 中的简单命令示例WPF 命令中的四个主要概念命令库创建自定义命令 命令是 Windows Presentation Foundation (WPF) 中的一种输入机制&#xff0c;与设备输入相比&#xff0c;它提供的输入处理更侧重于语义级别。 示例命令如许多应用程序均具有的“复制…...

怎么将epub转换成txt文件?

怎么将epub转换成txt文件&#xff1f;在当前时代&#xff0c;各种各样的电子书是很多人都喜欢接触并阅读的&#xff0c;但很少有人知道电子书格式的不同&#xff0c;其中就包括epub和txt格式&#xff0c;这两种格式虽然都可以展示文本但能达到的效果完全不一样&#xff0c;在某…...

Java单词排序

【问题描述】 编写一个程序&#xff0c;从一个文件中读入单词&#xff08;即&#xff1a;以空格分隔的字符串&#xff09;&#xff0c;并对单词进行排序&#xff0c;删除重复出现的单词&#xff0c;然后将结果输出到另一个文件中。 【输入形式】从一个文件sort.in中读入单词。 …...

Moonsong Labs与Web3演变

作者&#xff1a;Derek Yoo 创建Moonsong Labs的理由 我们创建了Moonsong Labs&#xff0c;其使命是创建推动Web3采用的软件基础设施协议。我们的动力来自这样一个观念&#xff0c;即Web3使人类相互交往更加透明、高效和公正。这无疑是一个值得努力实现的目标&#xff0c;但更…...

流媒体学习之路(WebRTC)——GCC分析(4)

流媒体学习之路(WebRTC)——GCC分析&#xff08;4&#xff09; —— 我正在的github给大家开发一个用于做实验的项目 —— github.com/qw225967/Bifrost目标&#xff1a;可以让大家熟悉各类Qos能力、带宽估计能力&#xff0c;提供每个环节关键参数调节接口并实现一个json全配置…...

k8s持久化存储(NFS-StorageClass)

一、StatefulSet由以下几个部分组成&#xff1a; 用于定义网络标志&#xff08;DNS domain&#xff09;的Headless Service用于创建PersistentVolumes的volumeClaimTemplates定义具体应用的StatefulSet 二、StatefulSet 特点 StatefulSet 适用于有以下某个或多个需求的应用&a…...

java servlet软件缺陷库管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java servlet软件缺陷库管理系统是一套完善的java web信息管理系统 系统采用serlvetdaobean&#xff08;mvc模式)&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOM…...

19|BabyAGI:根据气候变化自动制定鲜花存储策略

19&#xff5c;BabyAGI&#xff1a;根据气候变化自动制定鲜花存储策略 随着 ChatGPT 的崭露头角&#xff0c;我们迎来了一种新型的代理——Autonomous Agents&#xff08;自治代理或自主代理&#xff09;。这些代理的设计初衷就是能够独立地执行任务&#xff0c;并持续地追求长…...

面试经典150题(62-64)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第三十天&#xff09;完成了3道(62-64)150&#xff1a; 62.&#xff08;226. 翻转二叉树&#xff09;题目描述&#xff1a; 给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

【SpringBoot】100、SpringBoot中使用自定义注解+AOP实现参数自动解密

在实际项目中,用户注册、登录、修改密码等操作,都涉及到参数传输安全问题。所以我们需要在前端对账户、密码等敏感信息加密传输,在后端接收到数据后能自动解密。 1、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

今日科技热点速览

&#x1f525; 今日科技热点速览 &#x1f3ae; 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售&#xff0c;主打更强图形性能与沉浸式体验&#xff0c;支持多模态交互&#xff0c;受到全球玩家热捧 。 &#x1f916; 人工智能持续突破 DeepSeek-R1&…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...