项目中配置Maven的国内仓库

发布时间 2023-10-19 11:23:37作者: 华安

Maven的依赖项下载默认是国外的路径:https://repo.maven.apache.org/maven2,国内访问很慢,有些都被限制了,所以只能从国内的镜像地址来下载。

1、其实这和你的Maven配置是有关系的,因为Maven是一个国际站点,它的仓库是在国外的,所以我们有时候在下载一些依赖的时候就会感觉到很慢,它默认是要国外的仓库去进行下载的

2、但是到国外去下载的话就会出现一些网络方面的问题,例如我们去下载一个Spring框架的依赖,这个依赖很大有1024KB,但是呢你每秒只能下载1KB<,但它的超时时间是60s,所以我们下到60K的时候就中断了,剩余的内容没有下载完,这就导致了[jar 包下载失败的问题]

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

1、 此时我们就需要去配置Maven的国内源了,什么是国内源呢? 其实就是一个镜像,我们国内有的一些镜像网站比如:阿里、网易

2、 它们获取到国外Maven仓库中的依赖这种机制就是:它们每天会去跑一个任务,去国外的网站中去拉取增量包,看谁更新了这个包拉到这个更新包后再把它放在本地,供中国的开发者去下载使用~

具体操作如下:

1、设置如下:

2、 修改User settings file中的 settings.xml,如果User settings file中没有settings.xml文件,就从Maven home path中的 conf目录中找到settings.xml文件,拷贝复制到 User settings file目录下,然后进行修改。

 

<!--阿里云仓库 -->
<mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>central</mirrorof>
        <name>Nexus alivun</name>
        <url>https://maven.aliyun.com/repository/central/</url>
</mirror>
 <!--华为云仓库 -->
<mirror>
        <id>nexus-huawei</id>
        <mirrorOf>central</mirrorof>
        <name>Nexus huawei</name>
        <url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
<!--网易云仓库 -->
<mirror>
        <id>nexus-163</id>
        <mirrorOf>central</mirrorof>
        <name>Nexus wangyi</name>
        <url>http://mirrors.163.com/maven/repository/maven-public/</url>
 </mirror>

 网上很多忽悠人的,说完成以上2步就可以了,但是实际中完全是不可以的,仍然从https://repo.maven.apache.org/maven2这里请求下载,我们还需要完成第三步。

3、springboot的pom文件都继承了super pom.而super pom中配置的就是https://repo.maven.apache.org/maven2,所以我们要在项目文件 pom.xml还要进行配置。

下图是super pom的配置仓库部分:

 很简单,就是在我自己的pom文件中加上下面的这段配置,重写super pom的仓库配置,把super pom的仓库配置顶掉就好了。

<repositories>
    <repository>
       <id>central</id>
       <url>https://maven.aliyun.com/repository/central/</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
       <id>central</id>
       <url>https://maven.aliyun.com/repository/central/</url>
    </pluginRepository>
</pluginRepositories>

4、重启Idea.

 5、

 

可以删除以前下载的本地仓库路径下的文件,全部重新下载。