配置maven使用阿里云镜像加快下载速度

我找到了两种方法,可以根据情况选择。

全局设置

TODO ~/.m2/settings.xml可能不存在

~/.m2/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>

将这个url变成central(即maven官方镜像的id)的代理,以后所有对central的请求,全部转发到这里。

这种方法的好处是,设置一次后,所有的项目都能享受,比较方便;坏处是,如果在教学时,还需要教别人怎么设置。

在项目中设置

在项目的pom.xml中不支持<mirror>,我们需要在<project>内添加以下内容:

<repositories>
    <repository>
        <id>central</id>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<pluginRepositories>
    <pluginRepository>
        <id>central</id>
        <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </pluginRepository>
</pluginRepositories>

注意这里的id都使用了central这个名字,是想覆盖掉maven自己定义的central。这样就可以了。

这种做法的好处是,下载这个项目源代码后,直接就可以用了,不需要修改别的文件;缺点就是如果有多个项目,每个都要这么设置一下。

如何确认生效

运行mvn命令的时候,加上-X参数,仔细检查是否所有的下载都是来自aliyun。但是这样可能有个问题,就是运行一次后,依赖的包下载到本地后,可能就不会从网上重新下载了,无法验证。

这时可以使用下面的命令,清除测试项目使用的本地依赖去掉,并重新下载:

mvn dependency:purge-local-repository -X

观察显示出来的url即可(可以搜索apache或者maven2等关键字,查看用到的url)

推荐阅读更多精彩内容