文档章节

Maven 中央仓库访问过慢的解决方案——设置国内镜像

国栋
 国栋
发布于 2017/04/21 07:41
字数 712
阅读 296
收藏 3

在现今的 Java 开发活动中,无论你是用古老的 Ant,还是 Maven 本身,亦或是 Gradle,你都经常需要访问 Maven 的中央仓库以获取所依赖的包。鉴于中央仓库的访问巨大,再背上我们特殊国情的友军火力的锅,获取依赖的过程中经常慢得令人发指,甚至导致构建失败,IDE 失去响应等等。

为此,最好的方式是为中央仓库设置国内镜像,这样对中央仓库的访问将会被镜像到国内的镜像上,访问速度将得到有效提升。

国内公共镜像

目前为止,国内较好的公共镜像是阿里巴巴的阿里云所提供的。

其地址为:http://maven.aliyun.com/nexus/content/groups/public/

如果你有更好的发现,欢迎留言告诉我。

配置使用镜像

如果你安装有本地原生的 Maven,

如果直接使用 IDE 的 Maven 插件,相关设置见后面的介绍。

那么去到你的 Maven 安装目录的 conf 目录下,找到 settings.xml,比如在我的机子上是:

image

友情提示:修改前最好先做一备份,比如如上所示,拷贝一份,改名为 settings.xml.bak。

打开它,找到 mirrors 节点,加入以下内容:

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

最终结果如下图所示:

image

配置 IDE 中的 Maven 插件

许多 IDE 本身也带有 Maven 插件,你可以配置使用本地 Maven,或直接使用 IDE 本身的插件,下面一并说下相关配置。

以 Eclipse 为例,打开 Windows -- Preference,在过滤框中键入“maven”,找到 Maven -- Installations,如下:

image

如果你打算用本地 Maven 来构建,那么在这里要添加并勾选上本地 Maven 的选项,如上所示。

默认会使用上述第一项:EMBEDDED,即 IDE 本身所带的嵌入式 Maven 插件。

然后去到 User Settings 中,

image

确保 Global Settings 中用的是我们刚才设置的配置文件,然后按下“Update Settings”以更新设置。

如果你没有安装本地 Maven,则可以在上述图中蓝色框中所指的文件中添加以上配置。

注:其中的 upfu 是我的本地用户名。

观察以验证配置

当以上配置完成并生效后,可以新建一个 Maven 项目测试一下,或者简单修改一下 pom.xml,观察依赖加载的情况,以 Eclipse 为例,如果在 progress 视图中观察到如下的情况:

image

更新动作的地址中出现了所配置的 aliyun 的 url,则说明已经配置成功了。

© 著作权归作者所有

国栋

国栋

粉丝 378
博文 79
码字总数 154046
作品 0
东莞
程序员
私信 提问
华为云和 Sonatype 联合发布中国官方 Maven 中央仓

近期,华为云与 Sonatype 签署了有关 Maven 中央仓的合作协议,华为云将作为中国唯一 Maven 中央仓的官方镜像节点,为国内广大开发者提供便捷的加速服务。 华为云是领先的云服务提供商,致力...

局长
2018/03/23
8.1K
37
只用一招,让你Maven依赖下载速度快如闪电

一、背景   众所周知,Maven对于依赖的管理让我们程序员感觉爽的不要不要的,但是由于这货是国外出的,所以在我们从中央仓库下载依赖的时候,速度如蜗牛一般,让人不能忍,并且这也是大多数...

hafiz.zhang
2017/09/21
0
0
将项目发布到Maven中央仓库的不完整纪要

背景 有几个Utils性质的Jar需要跨项目引用,原本想部署私有Maven仓库,后来感觉太麻烦,索性直接发布到中央库,引用时也方便。 发布成功之后,觉得某些细节还是有必要记录一下。 资源 Sonaty...

网无忌
2018/07/31
0
0
Eclipse-Mars Release (4.5.0)创建Maven项目报错

1、Eclipseb版本为Mars Release (4.5.0) 2、报错内容 Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could no......

徐雁翔
2015/09/27
1K
0
从0开始搭建自动部署环境

从0开始搭建自动部署环境 前言 从Docker改变使用动态库后,DooD不再可行,而Dind依然可行。针对此改变,重新整理并记录自动部署环境配置步骤。 此环境是实现微服务自动部署的基础,使用jenki...

五毛程序员
2017/11/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

3分钟看懂Activity启动流程

背景介绍 从事开发到了一定阶段,想要提高就必须搞明白系统的一些工作原理。为什么?因为只有明白了这些,你才能针对平台的特性写出优质的代码。当遇到棘手的问题时,你才能更快速的结合系统...

天王盖地虎626
28分钟前
1
0
机器学习算法GPU版本安装配置

##XGBoost for GPU安装https://blog.csdn.net/weixin_30963287/article/details/79145107https://blog.csdn.net/wl2858623940/article/details/80546140https://blog.csdn.net/u01164186......

KYO4321
31分钟前
1
0
微软展开训练AI来推Windows 10 1903版自动更新

Windows 10 May 2019(1903版)正式释出将近一个月,或许已经有用户自主安装更新了,不过微软认为还不够多。微软表示将开始训练机器学习(machine learning)技术,帮助1803版本以前的PC更新...

yisy5566
今天
0
0
前后端分离-前端搭建(Vue)(2)

先安装node.js以及npm 现在基本的node.js都包含有npm,下载安装后, 可以在cmd命令里输入 node -v 和npm -v 分别查看安装的版本 两个都显示了版本就是安装ok 这次我们使用JetBrains WebStor...

咸鱼-李y
今天
0
0
好程序员web前端教程分享三大前端框架相关问题

  好程序员web前端教程分享三大前端框架相关问题,三大前端框架,有没有哪个框架的组件间交互像js的方法传值一样简单? 首先框架组件通信是为了方便组件模块之间进行数据交互的,因为框架的...

好程序员IT
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部