项目中如何配置 Maven 为国内源

news2024/11/22 8:52:22

目录

1. 创建出一个 Maven 项目

2. 打开项目配置界面, 检查并配置国内源

2.1 打开配置界面 (当前项目界面和新项目配置界面)

2.2 搜索 "Maven"

2.3 设置 setting.xml (给此 xml 中添加国内源)

2.4 把上面的步骤 (2.1~2.3)  在新项目的配置界面中重新配置一遍.

3. 重新下载 jar 包


1. 创建出一个 Maven 项目

2. 打开项目配置界面, 检查并配置国内源

2.1 打开配置界面 (当前项目界面和新项目配置界面)

2.2 搜索 "Maven"

2.3 设置 setting.xml (给此 xml 中添加国内源)

 打开此路径后, 会出现两种情况: 

1. 你的路径下有 settings.xml 文件;

2. 你的路径下没有 setting.xml 文件;

【第一种情况配置国内源】

使用 VSCode 或者其他文本编辑器打开 settings.xml 文件, 并找到 mirrors 结点, 在里面加上以下代码即可.

<mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
        <mirrorOf>central</mirrorOf>        
      </mirror>

【第二种情况配置国内源】

将自己同学或者朋友已经配置好的 settings.xml 文件拷贝到此路径下即可.

【注意】

此路径属于第一种情况时, 不能像第二种情况一样拷贝朋友的 xml 文件

【为什么要给 settings 添加国内源】

 

maven 项目为什么要下载 jar 包 >>>

最早之前我们要去下载 jar 包, 就和我们最早智能时代去下载 app 一样, 就是一个链接, 本来我们要去下一个王者荣耀, 结果发现是一个钓鱼的 app, 来了之后, 先让我们看 60 秒的广告, 正在打团战的时候, 又给我弹一个广告, 可想而知是非常糟糕的一件事, 但是野蛮时代就是这样.  我们下载 jar 包也是这样, 假设我想用一个很正经的 MD5 的加密库, 结果你就统计了我用户的一个行为, 你就搜集了我本地敏感的用户信息, 那我的 jar 包就出现问题了, 就有风险了, 那这时候怎么办? 就有一个人站了出来, 就建立了一个平台, 所有的 jar 包你都发布到这个平台,  我的平台给你进行审核, 审核完了之后, 其他人就可以去用了. 这就和我们之前下载 app , 经常会下载到一些伪造的,冒充的 app , 后来就有了官方的应用市场, 所有的东西都要进行官方的审核, 你就可以放心大胆的去用它了, 这也是咱们 maven 项目以及后面的 spring 项目要去下载 jar 包的原因.

为什么要配置 settings 国内源 >>>

由于 Maven 中央仓库在国外, 这就导致一个问题, 为什么我创建 servlet 项目, 创建 spring 项目的时候, 我创建失败了, 就是因为你去拉这个中央仓库的时候, 它在国外, 然后国外网络不好, 导致你拉了一半, 或者是在默认的超时时间里, 你都没有把这个 jar 包下载下来, 或者下载的时候网络中断了, 下载了一个一半的 jar 包, 然后你运行的时候就出现问题了, 你发现你的项目就跑不起来, 就是这个原因. 为了解决问题, 于是三方就跳出来了, 国内比较典型的 jar 包有两个, 一个是阿里云, 一个是网易云, 前边第一种情况配置的国内源就是阿里的. 

既然有了阿里云, 网易云, 是不是就相当于阿里就做了一个人家国外已经做过的事呢?  开发者在发布 jar 包的时候, 是否需要将 jar 包也同步发到阿里, 网易呢? 那这样就会给人家开发者增加负担的, 人家也不会愿意, 而且会导致 maven 的生态不稳定. 所以这两家国内源就非常聪明, 去 maven 中央仓库去增量同步 jar 包, 这时候我们在 settings 里面配置国内源, 就可以直接去国内的网络去访问了, 这个时候, 速度就提升了很多了. 之前我们从中央仓库下载 jar 包, 正常情况下, 我们去下载一个 spring 项目的 jar 包可能需要 5 分钟, 现在我们从国内源下载 10 秒钟可能就搞定了.

2.4 把上面的步骤 (2.1~2.3)  在新项目的配置界面中重新配置一遍.

 

3. 重新下载 jar 包

为什么要重新下载 jar 包 >>>

第一次下载已经失败了, 那么这时候失败有两种情况: 

1. 压根就没下载下来

2. 下载了一半, 但是因为你的网络抖动, IDEA 没发现, IDEA 显示的是成功, 但是你用的时候不能用. 

所以我们需要先将旧的 jar 包删除 (旧 jar 包可能是不完整的).

怎么删除旧 jar 包 >>>

我们在配置的时候, 是打了两个勾的, 我们只做了第一件事, 第二件事没有做, 第二个配置就是我们的本地仓库.

【本地仓库】

前面我们只谈到了三个仓库, 那么本地仓库又是什么呢?

最早我们在下载 jar 包的时候, 是没有本地仓库的, 我们需要本地仓库就从线上去拉, 拉完就放到我们的项目里面, 但是这里会有一个问题, 比如我们下载一个 mysql 的 jar 包, 我们第一次去拉去这个 jar 包, 这个项目已经创建完了, 第二次我们在写项目的时候, 还需要 mysql 的 jar 包, 又得从中央仓库去拉, 此时就会有两个问题, 不管是国内的还是国外的, 我们都需要消耗网络资源. 而且第一次我们已经下载好了, 此时我们本地项目已经有了 jar 包, 第二次我们又去下载, 不科学不合理, 这个为了减轻中央仓库的负担, 也为了加快本地下载的速度, 所以它就会在中央仓库和用户之间架一个本地仓库, 起的作用就是缓存 !!

删除 jar 包就可以找到上面那个路径, 然后把下面的 jar 包全部删除,  下一次创建项目时需要这些 jar 包时, 重新再下载一次即可..(依然是从国内源下载) 

 

【重新下载 jar 包】

 

以上就是配置 Maven 为国内源的具体步骤, 跟着步骤一步步操作能解决 99% 的兄弟的问题, 
还有 1% 如果没成功, 可以尝试更换网络重新执行以上步骤!!!

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

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

相关文章

【MySQL】MySQL事务隔离机制与实现原理详解(MySQL专栏启动)

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;专注于研究 Java/ Liunx内核/ C及汇编/计算机底层原理/源码&#xff0c;就职于大型金融公司后端高级工程师&#xff0c;擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。 &#x1…

加权黑猩猩优化算法(WChOA)附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

Java实现五子棋(附源码)

文章目录一、游戏介绍二、效果展示三、代码展示1、登录页面2、算法程序3、棋盘实现四、资源下载五、文末总结一、游戏介绍 今天给大家分享一个用java写的小游戏——《五子棋》 &#xff08;完整代码可在【资源下载】目录查看&#xff09; 。五子棋是一种两人对弈的纯策略型棋类…

中缀表达式转后缀表达式

1 后缀表达式 一种不需要括号的表达式方法&#xff0c;也把它称为 逆波兰表达式&#xff0c;是波兰逻辑学家卢卡西维奇&#xff08;Lukasiewicz)发明的一种表示表达式的方法。 2 中缀表达式 中缀表达式也就是我们常见的表达式书写方法&#xff0c;比如“8(2-1)352”就是一个中…

HTML期末大作业——游戏介绍(HTML+CSS+JavaScript) web前端开发技术 web课程设计网页规划与设计 Web大学生网页成品

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

前端爱心代码跟个风

光棍节new一个对象发给Ta <!DOCTYPE html> <html><head><title></title> </head> <style>* {padding: 0;margin: 0;}html,body {height: 100%;padding: 0;margin: 0;background: rgb(2, 2, 2);}canvas {position: absolute;width: …

关于 SAP 电商云 Spartacus UI Navigation Service 执行的一些明细

第一次触发的时候&#xff0c;navigation.uid 并没有值&#xff1a; 下图&#xff1a;navigation.service 的 getNavigationNode 方法。 触发这个订阅的入口&#xff1a; <cx-navigation-ui*ngIf"data$ | async as data"[node]"node$ | async"[ngC…

【HTML实战】把爱心代码放在自己的网站上是一种什么体验?

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【HTML】 最近随着电视剧《点燃我温暖你》的火热播出&#xff0c;剧中帅气学霸李洵的炫酷爱心代码也迅速火出了圈&#xf…

【毕业设计】口罩佩戴检测系统 - opencv 卷积神经网络 机器视觉 深度学习

文章目录&#x1f6a9; 0 简介&#x1f6a9;1 课题背景&#x1f6a9; 2 口罩佩戴算法实现2.1 YOLO 模型概览2.2 YOLOv32.3 YOLO 口罩佩戴检测实现2.4 实现代码2.5 检测效果&#x1f6a9; 3 口罩佩戴检测算法评价指标3.1 准确率&#xff08;Accuracy&#xff09;3.2 精确率(Prec…

Golang学习之路5-结构体/类封装等使用

文章目录前言一、结构体1.声明结构体2.匿名结构体二、类1.封装及绑定2.继承3.多态及接口4.类访问权限总结前言 go语言支持类的操作&#xff0c;但是没有class关键字&#xff0c;使用struct来模拟类、结构体。类支持封装、绑定方法、继承等 一、结构体 结构体是由零个或多个任…

【C++进阶】map和set( 万字详解)—— 上篇

&#x1f387;C学习历程&#xff1a;进阶 博客主页&#xff1a;一起去看日落吗持续分享博主的C学习历程博主的能力有限&#xff0c;出现错误希望大家不吝赐教分享给大家一句我很喜欢的话&#xff1a; 也许你现在做的事情&#xff0c;暂时看不到成果&#xff0c;但不要忘记&…

青少年python系列 42.面向对象-继承

青少年python系列目录_老程序员115的博客-CSDN博客 青少年python教学视频ppt源码 继承&#xff1f;继承啥&#xff1f;提起继承这两个字&#xff0c;最先能够联想到的应该就是子继父业这个成语。还记得之前在我们的课程中提及过&#xff0c;在面向对象编程时&#xff0c;是可以…

【Linux】关于进程的理解、状态、优先级和进程切换

文章目录&#x1f4dd;一、操作系统进程1.运行队列2.运行状态&#x1f4dd;二、Linux进程状态&#x1f4dd;三、两个特殊进程1.僵尸进程2.孤儿进程&#x1f4dd;四、进程优先级1.优先级概念2.查看系统进程3.PRI和NI4.top命令更改nice5.特性&#x1f4dd;五、进程切换1.并发2.进…

软件工程方法论

&#x1f430;作者简介&#xff1a;一位普通高校的在校学生&#xff0c;致力于提高自己的编程能力。 &#x1f34c;个人主页&#xff1a;比昨天强一點的博客_CSDN博客-C语言从0到精通领域博主 &#x1f34d;系列专栏&#xff1a;C语言从0到精通_比昨天强一點的博客-CSDN博客 &a…

真良心干货保姆级手把手教你Python网络编程,学不会我去你家教你

Python网络编程基本概念(计算机网络基础)IP地址与端口IP地址端口网络通信协议网络通信协议网络协议的分层TCP/UDP套接字编程socket()函数介绍UDP 编程实现UDP发送数据实现UDP先发送数据再接收数据实现UDP实现多线程聊天TFTP文件下载器基本概念下载的过程python内置模块structTC…

C/C++ Qt 标准Dialog对话框组件应用

在Qt中对话框分为两种形式&#xff0c;一种是标准对话框&#xff0c;另一种则是自定义对话框&#xff0c;在一般开发过程中标准对话框使用是最多的了&#xff0c;标准对话框一般包括 QMessageBox,QInputDialog,QFileDialog 这几种&#xff0c;这里我将总结本人在开发过程中常用…

蓝桥杯——2022年11月第十四届蓝桥杯模拟赛第一期Java

1、二进制位数 问题描述 十进制整数 2 在十进制中是 1 位数&#xff0c;在二进制中对应 10 &#xff0c;是 2 位数。 十进制整数 22 在十进制中是 2 位数&#xff0c;在二进制中对应 10110 &#xff0c;是 5 位数。 请问十进制整数 2022 在二进制中是几位数&#xff1f; 答案…

C++学习之旅 第二章 printf与cout

目录 1.printf简介 2.printf的四种用法 2.1 printf("字符串"); 2.2 printf("输出控制符",输出参数); 2.3 printf("输出控制符1 输出控制符2 ,,,,,,,, ", 输出参数1&#xff0c; 输出参数2&#xff0c;....... ); 2.4 printf("输出控制…

化妆品展示网页设计作业 静态HTML化妆品网站 DW美妆网站模板下载 大学生简单网页作品代码 个人网页制作 学生个人网页设计作业

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

C++11【智能指针详解】

智能指针&#x1f3de;️1. 为什么引入智能指针&#xff1f;&#x1f301;2. 智能指针的使用及原理&#x1f4d6;2.1 RAII思想&#x1f4d6;2.2 智能指针的原理&#x1f320;3. 常见智能指针&#x1f4d6;3.1 auto_ptr&#x1f4d6;3.2 unique_ptr&#x1f4d6;3.3 shared_ptr&…