Maven镜像仓库替换为阿里云镜像仓库

引言


前文中所提到的更换本地仓库地址,问题已得到解决。

随之而来,出现了另一个头疼的问题,更新Indices速度很慢,或者直接就出现假死状态。

解决方案


在本地 mavensetting配置文件中加上阿里云镜像地址就行了:

3409462-601333d70834b60c.png

新增配置内容:

  <!-- 阿里镜像仓库 -->
  <mirrors>
    <mirror>
        <id>alimaven</id>
        <name>aliyun maven</name>
        <url>
            http://maven.aliyun.com/nexus/content/groups/public/
        </url>
        <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>

接着,更新依赖就成功了。

科普一下


Maven的仓库、索引

中央仓库:目前来说,http://repo1.maven.org/maven2/ 是真正的Maven中央仓库的地址,该地址内置在Maven的源码中,其它地址包括著名的ibiblio.org,都是镜像。

索引:中央仓库带有索引文件以方便用户对其进行搜索,完整的索引文件至2019年1月22日大小约为1.04G,索引每周更新一次。

本地仓库:是建立在本地机器上的Maven仓库,本地仓库是中央仓库(或者说远程仓库)的一个缓冲和子集,当你构建Maven项目的时候,首先会从本地仓库查找资源,如果没有,那么Maven会从远程仓库下载到你本地仓库。这样在你下次使用的时候就不需要从远程下载了。如果你所需要的Jar包版本在本地仓库没有,而且也不存在于远程仓库,Maven在构建的时候会报错,这种情况可能发生在有些Jar包的新版本没有在Maven仓库中及时更新。Maven缺省的本地仓库地址为${user.home}/.m2/repository。也就是说,一个用户会对应的拥有一个本地仓库。当然你可以通过修改${user.home}/.m2/settings.xml配置这个地址:

<settings>
  ···
  <localRepository> D:\maven\repository</localRepository>
  ...
</settings>

提交内容:只要你的项目是开源的,而且你能提供完备的POM等信息,你就可以提交项目文件至中央仓库,这可以通过Sonatype提供的开源Maven仓库托管服务实现。

IntelliJ IDEA利用索引实现自动补全

众所周知,由于伟大的中国防火墙,所以在使用IDEA下载Maven仓库索引的时候,要么无法访问,要么就是速度极慢,这对开发人员带来了极大的不便,所以一般公司都用Nexus搭建一个公司内部的私服。同时利用私服更有利于对公司内部开发人员依赖的Jar包版本进行控制。

也许你会问,中央仓库带有索引,为什么本地的IDEA也需要下载索引呢?那么直接看下图你就明白了,如果本地没有下载索引的话,在pom.xml文件中添加依赖是得不到任何提示的。

3409462-788a8ebc63776f42.gif

IntelliJ IDEA中Maven插件配置

IntelliJ已经内置了对Maven插件的支持,当然你也可以配置自己的Maven,只需要进入File->Settings->Maven->Maven home directory|User settings file|Local repository配置即可。注意如果使用自己配置的Maven,那么一定要勾选Override,否则配置不生效。

3409462-59892cc65936d29a.png

下载Maven仓库的索引

在配置完成之后就可以下载仓库索引了,注意这是一个非常耗时的过程,建议利用晚上或者出去午饭时间下载。下载过程及下载完成之后状态如下图所示。

3409462-900778a2f22873c3.png

猜你喜欢

转载自blog.csdn.net/weixin_33849215/article/details/86849237
今日推荐