Maven是当前流行的项目管理工具,但官方的库在国内常常连不上,连上之后龟通常的速度也能让你崩溃,这时候也许你会去搜索下如何加速。 百度搜索 maven镜像
会发现绝大部分都在推荐 阿里云 的镜像服务,可是阿里云的镜像服务真的好用吗?去国内各大云厂商搜索了下发现都提供了镜像服务,到底哪一个是最快的呢?这里进行深度测试。各大厂商也是鸡贼,对关键字也作了处理好比腾讯的 腾讯云镜像maven
腾讯云maven镜像
缓存
咱们分表从用户体验、下载速度进行评测bash
使用指南
的连接settings.xml
文件便可<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
复制代码
<mirror>
<id>nexus-tencentyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus tencentyun</name>
<url>http://mirrors.cloud.tencent.com/nexus/repository/maven-public/</url>
</mirror>
复制代码
<mirror>
<id>huaweicloud</id>
<mirrorOf>*</mirrorOf>
<url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>
复制代码
华为云每一步都替用户着想,详细的配置说明罗胜一筹maven
示例程序使用以前多数据源配置的程序样例,文末有下载方式工具
咱们使用华为云maven镜像加速下载下来的配置文件为模板,复制三份,mirror分别指定为华为云、阿里云、腾讯云的地址,文件命名为 settings_ali.xml settings_huawei.xml settings_tencent.xml
测试
maven本地缓存路径使用默认的地址 ${user.home}/.m2/repository
,每次构建以前须要清理本地缓存文件gradle
rm -rf /root/.m2/repository/*
复制代码
maven命令以下ui
mvn clean package -Dmaven.test.skip=true -s settings_ali.xml
复制代码
这里以华为云为例,脚本执行100次阿里云
#!/bin/bash
echo '' > huawei
for ((i=1; i<=100; i ++))
do
echo $i
rm -rf /root/.m2/repository/*
# start_mill=$((`date '+%s'`*1000+`date '+%N'`/1000000))
mvn clean package -Dmaven.test.skip=true -s settings_huawei.xml >> huawei
# end_mill=$((`date '+%s'`*1000+`date '+%N'`/1000000))
# diff=$[10#$end_mill-10#$start_mill]
#echo $diff >> huawei
done
grep 'Total time' huawei |awk 'BEGIN {max = 0} {if ($4>max) max=$4 fi} END {print "Max=", max}'
grep 'Total time' huawei |awk 'BEGIN {min = 6553565} {if ($4<min) min=$4 fi} END {print "Min=", min}'
grep 'Total time' huawei |awk '{sum+=$4}END{print "Average = ", sum/NR}'
复制代码
使用到了awk进行统计url
机器配置:腾讯云1C2G1Mspa
结果然是出乎意料,计时单位都差了一个级别,华为云在秒级,其余的则到了分钟级
到这里孰优孰劣一眼就能看出来了。
华为,NB。
用户体验: 华为云>腾讯云>阿里云 下载速度: 华为云>阿里云>腾讯云
用户体验无所谓了一次性配置,咱们确定首选下载速度最快的华为云了。
小技巧:使用nohup让脚本后台运行,nohup sh mvn-tencent.sh &
关注公众号回复 mvn
获取完整测试代码
关注公众号回复 mvn
获取完整测试代码
---END---