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

news/2024/12/24 23:51:00/

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

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

国内公共镜像

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

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

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

配置使用镜像

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

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

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

<a class=maven setting.xml" />

友情提示: 修改前最好先做一备份, 比如如上所示, 拷贝一份, 改名为 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>

最终结果如下图所示:

<a class=maven mirror aliyun" />

配置 IDE 中的 Maven 插件

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

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

eclipse <a class=maven installations" />

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

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

然后去到 User Settings 中,

eclipse <a class=maven user settings" />

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

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

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

观察以验证配置

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

<a class=maven updating aliyun nexus" />

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


http://www.ppmy.cn/news/1557858.html

相关文章

MySQL使用LOAD DATA INFILE方式导入文本文件

【图书推荐】《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;》-CSDN博客 《MySQL 9从入门到性能优化&#xff08;视频教学版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) MySQL9数据库技术_夏天又到了…

在 Go 中利用 ffmpeg 进行视频和音频处理

在 Go 中利用 ffmpeg 进行视频和音频处理 ffmpegutil 包概述主要功能介绍1. 视频格式转换2. 提取音频3. 获取视频信息4. 创建视频缩略图5. 提取随机帧无线程版本&#xff1a;多线程版本&#xff1a; 总结 ffmpeg 是一款功能强大的多媒体处理工具&#xff0c;支持视频和音频的编…

AI绘图开源工具Stable Diffusion WebUI前端API调用

背景 本文主要介绍 AI 绘图开源工具 Stable Diffusion WebUI 的 API 开启和基本调用方法&#xff0c;通过本文的阅读&#xff0c;你将了解到 stable-diffusion-webui 的基本介绍、安装及 API 环境配置&#xff1b;文生图、图生图、局部重绘、后期处理等 API 接口调用&#xff…

【Laravel】接口的访问频率限制器

Laravel 接口的访问频率&#xff0c;你可以在 Laravel 中使用速率限制器&#xff08;Rate Limiter&#xff09;。以下是一个详细的步骤&#xff0c;展示如何为这个特定的 API 路由设置速率限制&#xff1a; 1. 配置 RouteServiceProvider 首先&#xff0c;确保在 App\Provide…

网站安全监测存在的挑战,以及应对方案

随着云计算发的发展&#xff0c;传统的网站安全监管方式已经不适用于云环境下&#xff0c;传统方式通常是采用 Web 应用安全扫描工具周期性的对网站进行安全扫描与评估&#xff0c;然后根据评估结果进行安全加固和风险管理。这种安全检查工作是一种静态的检查工作&#xff0c;能…

.NET Core 项目配置到 Jenkins

1. Jenkins 基础环境准备 安装必要插件 确保 Jenkins 安装了以下插件&#xff1a; Pipeline&#xff08;用于构建 Pipeline&#xff09; Docker Pipeline&#xff08;如果使用 Docker 构建&#xff09; Git Plugin&#xff08;用于拉取代码&#xff09; MSBuild Plugin&am…

UniApp:uni-segmented-control 自定义布局

自定义tabs选项&#xff0c;items 为tabs名称数组&#xff0c;横向滚动 <scroll-view scroll-x><view class"segmented-control"><view v-for"(item, index) in items" :key"index" class"control-item ":class"…

Python+OpenCV系列:AI看图识人、识车、识万物

在人工智能风靡全球的今天&#xff0c;用 Python 和 OpenCV 结合机器学习实现物体识别&#xff0c;不仅是酷炫技能&#xff0c;更是掌握未来的敲门砖。本篇博文手把手教你如何通过摄像头或图片输入&#xff0c;识别人、动物、车辆及其他物品&#xff0c;让你的程序瞬间具备 AI …