前言

很多同学在Maven里下载一些依赖的时候,即下载【jar 包】的时候总是会出现一些问题,这里专门做一个教程讲解一下

  • 其实这和你的Maven配置是有关系的,因为Maven是一个国际站点,它的仓库是在国外的,所以我们有时候在下载一些依赖的时候就会感觉到很慢,它默认是要国外的仓库去进行下载的
  • 但是到国外去下载的话就会出现一些网络方面的问题,例如我们去下载一个Spring框架的依赖,这个依赖很大有1024KB,但是呢你每秒只能下载1KB<,但它的超时时间是60s,所以我们下到60K的时候就中断了,剩余的内容没有下载完,这就导致了【jar 包下载失败的问题】

那如何去解决这个问题呢?

  • 此时我们就需要去配置Maven的国内源了,什么是国内源呢?其实就是一个镜像,我们国内有的一些镜像网站比如:阿里、网易
  • 它们获取到国外Maven仓库中的依赖这种机制就是:它们每天会去跑一个任务,去国外的网站中去拉取增量包,看谁更新了这个包,拉到这个更新包后再把它放在本地,供中国的开发者去下载使用~

1、配置settinga.xml文件

  1. 首先第一步,我们打开IDEA创建一个新的项目,然后找到【文件】中的 设置
    • 不过这里的设置有两个,要注意区分,IDEA的话是把这两块给分开来了,所以两个地方我们都要去进行配置
    • 下面是中文版的,英文版的话叫做Settings

  1. 点进来之后我们就要去找到Maven,根据下图的步骤来完成,记住这里文件路径中一定不能出现中文,否则后续会出现各种问题的

  1. 然后我们进到【用户配置文件】目录中,寻找这个settings.xml这个文件,这边的话会出现两种情况
    • 一种是你点进去除了下面的两个文件夹之外还会有的就是这个配置文件
    • 另一种则是像下面这样,并没有出现这个settings.xml这个文件

  1. 接下去要做的就是这个配置文件中的镜像,配置为国内的镜像
  • 对于第一种来说,你可以选择VSCode打开这个文件(用记事本打开的话没有高亮)

  • 然后往下滑找到这个标记,代表配置文件中的镜像设置

  • 把下面的这段复制进去,然后点击Ctrl + s保存即可,这个镜像是阿里的国内源
<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf></mirror>

第二种若是没有这个【settings.xml】,你要做的就是点击我的头像,然后私信加我好友,我私发给你这个文件,你拷贝到这个目录下即可,不需要修改

  • 当上面的这些步骤都设置完后,仅仅是把当前项目文件的做了配置,但是对于【新项目配置】我们还要去再配置一遍

2、重新下载jar包

当【settings.xml】文件配置完后,那恭喜你,第一步已经完成了,但接下去还要去做一些事情

  • 首先第一步,进入我们刚才那个目录下的repository这个文件夹,这里面放置的就是你之前在写Maven中引入依赖的时候所存储 jar 包的本地仓库
  • 但是这只针对遇到【jar 包下载失败】的用户,如果你的jar 包并没有出现下载失败的情况,可以暂时先不清楚这些原本的jar 包


为什么要去删除这些原先就有的 jar 包呢?

  • 因为之前你在下载jar 包的时候,因为种种问题导致这个包并没有下载完整,再去重新下载的话也是会失败的,所以需要先把原来的给清除掉才可以

  • 当之前的jar包全部清除完成后,我们就可以去重新下载所有的jar包了,点击IDEA右侧的【Maven】,然后点击一个缓冲的圆圈,就可以下去所有的jar包

3、其他问题

如果1、2两步你全部都做完了,但是还没有解决问题的话,请看看下面的这三点

  1. 上⾯的步骤没看仔细:重新认真的逐字逐句的观看和配置
  2. Maven 路径中出现中⽂:如果出现中⽂会导致下载了 jar 包,但是在项⽬中不能正常使⽤;

  1. 当前⽹络运营商有问题:当前所在区域连接的⽹络运营商(中国电信、移动…)连接数据源有问题,尝试更好⽹络,使⽤⼿机热点或朋友的⼿机热点尝试,如果还是还⾏,间隔 4 ⼩时之后再试

4、下载依赖测试

我们可以去下去一个jar包测试一下配置后是否没问题了

  • 这里我们去下载一个Spring的依赖
  • 接着点进去后选择对应的jar包版本,根据你对应的JDK进行选择

  • 选择完对应的jar包版本后,点击进去我们就可以看到里面的这段依赖了

  • 然后我们进到项目中,选择pom.xml文件添加这段依赖,记得先加上外层的
<dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.27</version></dependency></dependencies>
  • 不过添加的话只是声明一下这段需要加载进来,添加依赖后不要忘了点击加载更新,这样才能把jar包真正地加载到当前框架中

好,到这里的话,Maven jar 包下载失败问题就处理完成了,希望对您有所帮助