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

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

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

国内公共镜像

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

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

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

配置使用镜像

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

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

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

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

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

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

最终结果如下图所示:

配置 IDE 中的 Maven 插件

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

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

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

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

然后去到 User Settings 中,

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

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

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

观察以验证配置

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

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

相关推荐
菠萝催学12316 小时前
日志配置Slf4j
java·数据库·spring·tomcat·maven·intellij-idea
ahauedu17 小时前
Apache POI 依赖版本冲突导致 NoSuchFieldError: Factory 报错
java·maven·apache
Lil Jan2 天前
03-Web后端基础(Maven基础)
java·前端·maven
工作log2 天前
自己动手造轮子:如何创建JAR并通过Maven在Spring Boot中引用
spring boot·maven·jar
kokouya3 天前
macOS配置maven及报错处理:zsh: permission denied: mvn
maven
南洋十三郎3 天前
JavaWeb学习打卡05(在IDEA中创建并使用MavenWeb项目详解、POM.XML文件)
学习·maven·intellij-idea
橘子编程4 天前
Docker详解及实战
java·开发语言·mysql·spring·docker·maven
wsj__WSJ4 天前
IntelliJ IDEA (2024.3.1)优雅导入 Maven 项目的两种方式详解
java·maven·intellij-idea
jacGJ4 天前
记录解决问题--使用maven help插件一次性上传所有依赖到离线环境,spring-boot-starter-undertow离线环境缺少依赖
java·数据库·maven
一叶知秋964 天前
idea部署新项目时,用自定义的maven出现的问题解决
java·maven·intellij-idea