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

介绍了如何设置 maven 中央仓库的国内镜像以解决访问速度过慢等问题。

目录

在现今的 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,则说明已经配置成功了。