继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

只用一招,让你的Maven依赖下载速度快如闪电

阿豪聊干货
关注TA
已关注
手记 20
粉丝 8804
获赞 405
一、背景

​ 众所周知,Maven对于依赖的管理让我们程序员感觉爽的不要不要的,但是由于这货是国外出的,所以在我们从中央仓库下载依赖的时候,速度如蜗牛一般,让人不能忍,并且这也是大多数程序员都会遇到的问题。今天我们就教大家一招来完美解决这个问题,从此远离下载依赖速度极慢的困扰。

二、下载过慢的原因以及解决办法的原理
  1. 因为我们知道我们是从maven的中央仓库下载我们需要的依赖,中央仓库服务器又在国外,所以才会下载缓慢,那我们就可以使用镜像来解决下载依赖过慢的问题。
  2. 镜像:如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都能够从它的镜像中获取。
  3. maven安装目录下的conf文件夹下setting.xml中的<mirrorOf></mirrorOf>元素便是用来配置镜像的。
  4. <mirrorOf></mirrorOf>标签里面放置的是要被镜像的Repository ID。为了满足一些复杂的需求,Maven还支持更高级的镜像配置:
    1. <mirrorOf>*</mirrorOf> : 匹配所有远程仓库
    2. <mirrorOf>repo1,repo2</mirrorOf> : 匹配仓库repo1和repo2,使用逗号分隔多个远程仓库
    3. <mirrorOf>*,!repo1</miiroOf> : 匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除
三、解决办法

​ 阿里为我们提供了公共的Maven镜像库,我们就来配置它作为我们的中央仓库的镜像(当然你也可以指定别的Maven镜像库,比如OSChina的等,但是阿里的镜像库是目前我所知道的速度最快的一个)。

​ 我们只需要在我们的本地maven安装位置下的conf文件夹下的setting.xml中的<mirrors>镜像集合中添加如上的中央仓库的镜像就可以解决maven下载依赖速度慢的问题:

<mirror>  
   <id>alimaven</id>  
   <name>aliyun maven</name>  
   <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  
   <mirrorOf>central</mirrorOf>          
</mirror> 

注意 :由于镜像仓库完全屏蔽了被镜像仓库,当镜像仓库不稳定或者停止服务的时候,Maven仍将无法访问被镜像仓库,因而将无法下载构件。

四、总结

​ 我们遇见了问题,要懂得去站在巨人的肩膀上。去寻找别人解决方案。还有就是一个好的企业不单单只为自己的员工谋福利,更为这个社会做出贡献,我很欣赏阿里这样的有情怀的公司!遇见问题要想着如何彻底的解决问题,而不是将问题隐藏而束之高阁~

打开App,阅读手记
11人推荐
发表评论
随时随地看视频慕课网APP

热门评论

有这些大公司的支持,确实很好

写得挺好 楼主辛苦了

查看全部评论