【Spring详解】Maven从安装到应用(Maven Help插件的安装)-国内源的配置(中央仓库及私服的概念)

news2024/11/26 18:22:50

在这里插入图片描述

🌈个人主页:努力学编程’
个人推荐
c语言从初阶到进阶
JavaEE详解
数据结构
学好数据结构,刷题刻不容缓:点击一起刷题
🌙心灵鸡汤总有人要赢,为什么不能是我呢
在这里插入图片描述

🐯🐯🐯SpringBoot 学习目标

  1. 了解 Maven,并配置国内源
  2. 使用 SpringBoot 创建一个项目,输出 helloWorld

环境准备:
idea 支持的版本:
社区版: 2021.1-2022.1.4
专业版: 无要求

如果你不知道自己安装的 IDEA 是什么版本的,随便打开一个项目,点击 help,然后点击 about 即可.
在这里插入图片描述

如果你们的 idea 版本不在我们所说的范围里面,我们就需要将 idea 删除,然后重新安装所需的 idea,这里给大家一个彻底删除 idea 的博客,记得一定要删除注册表:
https://blog.csdn.net/qq_19072921/article/details/126408402

🐯🐯🐯Maven

Maven简单来说就是一个项目管理工具,我们可以使用 Maven 来自动下载 jar 包,我们之前都是手动的下载 jar 包,我们使用 Maven 中的 pom.xml 文件来自动配置 jar 包.这里是 Maven的官网:
https://maven.apache.org/index.html

🐸🐸🐸Maven 功能

Maven的优点:
简单,方便,提高我们的开发效率,减少我们开发的 Bug.

对于 Maven 提供的功能非常多,主要对于我们的后面的学习中的作用体现在两个方面: 项目构建 管理依赖.

🐸🐸🐸创建一个 Maven 项目

因为 IDEA 已经集成了 Maven,我们可以直接使用,无需安装(当然你也可以自己下载 maven).

File->New->Project

在这里插入图片描述

最后我们点击 Create 就创建了一个 Maven 项目.

🐯🐯🐯Maven 核心功能

Maven 的主要功能是两个方面:

  1. 项目管理
  2. 管理依赖

🐸🐸🐸项目构建

我们在开发一个项目的时候,往往需要非常麻烦的一套流程(编译,测试,打包…),每次代码的修改都需要这些经过这些流程,而Maven给我们提供了一套简单的流程完成项目的构建.

在这里插入图片描述
此时我们直接点击 package 就可以完成打包操作.

🐸🐸🐸依赖管理

我们在写项目的时候,往往需要引入许多第三方库,如果我们直接进行手动添加的话,就得在 Maven 中引入pom文件,这个文件就是用来添加第三方库的,我们可以手动添加,但是有这样的问题,如果我们的项目中需要引入同一个 jar 包的不同版本,可能会导致整个项目运行错误.
在这里插入图片描述
那么此时我们访问 jar C包的时候,到底访问那个呢,这里的原则是就近原则,在上图中我们访问的就是 3.3.1
当然我们也可以进行手动进行管理.

🐯🐯🐯Maven Help 插件

当项目比较复杂的时候,就会遇到 jar包冲突的时候,这时候我们就可以安装 Maven Help 插件,这个插件就可以用来观察包与包之间的依赖关系~.

如何安装呢 file->Setting-> Plugins->搜索’Maven Help’->找到对应的插件,点击 install即可,安装后需要重启才能正常使用这个插件.

在这里插入图片描述

🐯🐯🐯Maven 仓库

我们刚才说使用 Maven 我们可以在pom文件中添加各种jar包,那么是如何操作的呢

mysql mysql-connector-java 8.0.30

我们将这些代码称之为 “坐标”, 在Maven中,根据 groupid,artifactId,version的配置,来识别这个jar包,当我们在pom文件中添加完成这些依赖后(即上面的代码),点击刷新,Maven会根据坐标的配置,去仓库里寻找jar包,添加到这个项目中,并把他下载下来的地方就成为仓库.

这个仓库中就是用来存储资源,管理各种 jar 包.

在这里插入图片描述
通过我们上面的讲述,其实可以非常清晰的感知到 Maven 其实类似于一个目录,这个目录被用来存储开发汇中的各种依赖.(jar包,插件).

Maven 仓库分为两大类: 本地仓库和远程仓库,其中远程仓库又分为中央仓库,私服和其他公共库

🐸🐸🐸本地仓库

本地仓库: 自己计算机中的一个目录(用来存储jar包)
当项目引入对应的jar包之后,首先会在本地仓库中是否存在对应的jar包

  • 如果有:在项目中直接引用
  • 如果没有: 则去中央仓库中下载对应的jar包到本地仓库.

在这里插入图片描述
==本地仓库地址可以通过Maven配置中查看: ==

在这里插入图片描述
刚开始的时候,这个仓库可能是空的,后面随着我们使用 Maven,后面仓库中的文件就会越来越多.

🐸🐸🐸中央仓库

中央仓库: Maven软件中内置一个远程仓库地址,就是中央仓库,服务整个互联网.

仓库地址: https://repo1.maven.org/maven2/

当然我们也可以将自己写的 jar包上传到中央仓库中,也可以从中央仓库下载jar包

查找 jar 坐标

  1. 访问 https://mvnrepository.com/
  2. 在这个仓库中我们可以查找我们需要的jar包,比如我们之前说过的数据库mysql

在这里插入图片描述

🐸🐸🐸私有服务器

私服: 一般由公司团队搭建的私有仓库.
私服属于某个公司,或者某个部门,往往需要一定的权限.
我们访问仓库的顺序就有了变化:
在这里插入图片描述
1.先从本地仓库获取, 本地仓库存在, 则直接返回
2. 如果本地仓库没有, 就从私服请求, 私服存在该资源, 就直接返回
3. 如果私服上不存在该资源,则从中央仓库下载, 中央仓库不存在, 就报错了…
4. 如果中央仓库中存在, 就先缓存在私服上之后,再缓存到本地仓库⾥, 再为Maven的下载请求提供服
务.

🐸🐸🐸Maven 设置国内源

由于中央仓库的位置在国外,下载包的时候,就会非常慢,所以我们可以选择借助国内一些公共的远程仓库来下载资源接下来介绍,如何设置国内源.

🐸🐸🐸配置当前项目 setting

File->Setting:
在这里插入图片描述
修改仓库,配置国内源
国内使用时比较慢,我们可以更换为阿里云的仓库.

打开 setting.xml,在 mirrors 节点上,添加内容如下.

<mirror>
 <id>aliyunmaven</id>
 <mirrorOf>central</mirrorOf>
 <name>阿⾥云公共仓库</name>
 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
 </mirror>

🐸🐸🐸设置新项目的setting

上面我们配置完之后,只可以对当前项目生效为了后面的项目都能用,需要重新设置新项目的Settings

当前项⽬和新项⽬共⽤⼀个setttings⽂件即可, 所以新项⽬的设置, 只需要确认⼀下settings⽂件的路
径即可.

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

48 C 语言实战项目——客户信息管理系统

目录 1 需求说明 1.1 主菜单 1.2 添加客户 1.3 显示客户列表 1.4 修改客户 1.5 删除客户 1.6 退出 2 流程分析 2.1 总流程图 2.2 添加客户流程图 2.3 显示客户列表流程图 2.4 改客户流程图 2.4.1 修改客户总体流程图 2.4.2 具体执行修改部分的流程图 2.5 删除客…

MySQL-约束Constraint详解

文章目录 约束简介非空约束检查约束唯一约束列级约束与表级约束给约束起名字主键约束 约束简介 约束是我们在创建表的时候, 我们可以给表中的字段添加约束确保我们的数据的完整性和有效性, 比如大家平时上网时注册用户常见的 : 用户名不能为空, 对不起, 用户名已经存在等提示信…

【C++】用红黑树模拟实现set与map

目录 一、红黑树的完善&#xff1a; 1、红黑树节点模版的修改&#xff1a; 2、仿函数在模拟实现中的应用&#xff1a; 3、新增迭代器&#xff1a; 4、红黑树中的迭代器实现&#xff1a; 二、set与map的模拟实现&#xff1a; 1、insert&#xff1a; 2、map的[ ]: 三、测…

无刷直流电机工作原理:【图文讲解】

电动机 (俗称马达) 是机械能与电能之间转换装置的通称。可以分为电动机和发电机.一般称电机时就是指电动机。这个在日常应用中&#xff0c;比较多见&#xff0c;比如机器人&#xff0c;手机&#xff0c;电动车等。 直流电机&#xff1a;分为有刷直流电机&#xff08;BDC&#…

本地ubuntu主机搭建我的世界服务器并免费开启公网映射 结合MESM面板 chmlfrp 保姆级教学

本地ubuntu主机搭建我的世界forge服务器并免费开启公网映射 结合MESM面板 chmlfrp 这是一篇很完成的从ssh命令->配置java环境->安装MCS->部署服务器->开启公网映射的我的世界保姆级开服教程,可以慢慢食用ଘ(੭ˊ꒳ˋ)੭ 。 为什么选择forge服务器进行开服&#x…

【前车之鉴】坑啊~ RestHighLevelClient 超时时间偶尔失效问题解决方案

文章目录 show me code缘起原因分析 几点建议 结论&#xff1a;实际你的配置是生效的&#xff0c;只不过效果不明显而已&#xff0c;通过下面的配置放大直观效果。 show me code 核心代码 public static void main(String[] args) {RestClientBuilder builder RestClient.bu…

【M2TR】M2TR: Multi-modal Multi-scale Transformers for Deepfake Detection

文章目录 M2TR: Multi-modal Multi-scale Transformers for Deepfake Detectionkey points研究贡献方法多尺度变压器频率过滤器跨模态融合损失函数SR-DF数据集实验总结M2TR: Multi-modal Multi-scale Transformers for Deepfake Detection 会议/期刊:ICMR ’22 作者: key …

深入理解栈(Stack)(纯小白进)

目录&#xff1a; 一、栈是什么&#xff1f;1. 栈的概念2.栈的结构选择 二、栈的实现1. 栈结构体的定义2. 栈的初始化3. 栈的销毁4. 入栈5.出栈6. 取栈顶元素7. 栈中元素的个数8. 判断栈是否为空 总结 一、栈是什么&#xff1f; 1. 栈的概念 栈&#xff08;Stack&#xff09;…

游戏开发指南:使用 UOS C# 云函数快速构建与部署服务端逻辑实战教学

零基础的服务端小白&#xff0c;现在也可以使用 Unity 结合 C# 来轻松搞定游戏服务端啦&#xff01; 在本篇文章中&#xff0c;我们将以游戏中的“抽卡”功能为例&#xff0c;展示如何使用 Unity Online Services&#xff08;UOS&#xff09;提供的强大 C# 云函数服务&#xf…

Elasticsearch(二)集成Spring Boot 基本的API操作

目录 一、集成Spring Boot 1、创建项目 2、pom文件 查看springboot集成的依赖 3、增加es的config类 二、索引相关API 1、创建索引 2、获取索引&#xff0c;判断其是否存在 3、删除索引 三、文档相关API 1、添加文档 2、获取文档&#xff0c;判断是否存在 3、获取文档…

Java后端面试----某团一面

美团一面 1.介绍一下你的第一个项目 这个就不多说了&#xff0c;主要是根据自己的简历上面的项目进行一个简短的概括使用的技术栈和什么背景解决了什么问题等等。 2.线程安全的类有哪些&#xff0c;平时有使用过哪些&#xff0c;主要解决什么问题 在Java中线程安全的类比如…

对后端返回的日期属性进行格式化(扩展 Spring MVC 的消息转换器)

格式化之前 格式化之后&#xff1a; 解决方式 方式一 在属性中加上注解&#xff0c;对日期进行格式化 JsonFormat(pattern "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;//JsonFormat(pattern &quo…

echarts按需引入解决项目大小问题

背景&#xff1a; 按需加载缩减项目大小&#xff0c;提升项目性能和可用性 实现&#xff1a; 创建echarts.js main.js进行配置 页面中引用 效果 全量导入 按需加载&#xff1a;

Chrome清除nslookup解析记录 - 强制http访问 - 如何禁止chrome 强制跳转https

步骤&#xff1a; 地址栏输入 chrome://net-internals/#hsts在Delete domain 栏的输入框中输入要http访问的域名&#xff0c;然后点击“delete”按钮最后在Query domain 栏中搜索刚才输入的域名&#xff0c;点击“query”按钮后如果提示“Not found”即可&#xff01; 办法来自…

Linux系统:apt upgrade与apt update 命令的作用

一.sudo apt update命令 sudo apt update命令的主要作用是更新本地软件包列表。‌ 它不会下载或安装新的软件包&#xff0c;而是更新本地系统中软件包的列表&#xff0c;以反映远程存储库中的最新可用软件包信息。这确保了软件包管理器&#xff08;APT&#xff09;具有最新的软…

第十六周周报:单发的目标检测系列

目录 摘要 Abstract 一、SSD 1.1 模型结构 1.2 代码 二、YOLO 三、Termius 总结 摘要 本周主要学习单阶段的目标检测算法&#xff0c;如SSD、YOLO模型。详细学习了每个模型的原理&#xff0c;以及SSD和YOLO模型之间的异同。在本篇博客中将展示SSD的PyTorch实现代码&am…

Django使用uwsgi和nginx进行手动部署

在Django项目中使用uWSGI和Nginx进行部署是一种常见的生产环境配置。以下是一个详细的步骤指南&#xff0c;帮助你完成这个过程。 前提条件 有一个已经开发好的Django项目。服务器已安装Python、pip、Nginx和uWSGI。有一个有效的域名(可选&#xff0c;但推荐)。 步骤一&#xf…

CPU指令融合技术概述

什么是指令融合&#xff1f; 某些指令&#xff0c;例如add $3,$2,0, 只会使用rd/rs两个字段&#xff0c;但是这条指令却占用了全部32个bit, 这样会使得代码密度不高&#xff0c;指令域的有效利用率不高&#xff1b;这样&#xff0c;在实现某些功能的情况下&#xff0c;会使得CP…

Java创建线程池和线程池的七个核心参数

线程池的工作流程是&#xff1a;当一个任务被提交到线程池时&#xff0c;线程池会根据当前的线程数量和工作队列的状态来决定如何处理这个任务。如果当前运行的线程数量小于corePoolSize&#xff0c;则创建新线程执行任务&#xff1b;如果大于等于corePoolSize&#xff0c;则将…

毕设开源 大数据电影数据分析与可视化系统(源码+论文)

文章目录 0 前言1 项目运行效果2 设计概要3 最后 0 前言 &#x1f525;这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师…