当前位置: 首页 > 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;并返回其…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

【算法训练营Day07】字符串part1

文章目录 反转字符串反转字符串II替换数字 反转字符串 题目链接&#xff1a;344. 反转字符串 双指针法&#xff0c;两个指针的元素直接调转即可 class Solution {public void reverseString(char[] s) {int head 0;int end s.length - 1;while(head < end) {char temp …...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP

编辑-虚拟网络编辑器-更改设置 选择桥接模式&#xff0c;然后找到相应的网卡&#xff08;可以查看自己本机的网络连接&#xff09; windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置&#xff0c;选择刚才配置的桥接模式 静态ip设置&#xff1a; 我用的ubuntu24桌…...