相信许多JAVA开发者在日常工作中时常会碰到这种情况,那就是编译Maven工程时,工程所依赖的jar包文件下载非常慢,甚至经常出现下载不成功的问题,今天,小编就给大家讲讲如何提升Maven依赖包的下载速度

由于Maven工程默认配置的依赖仓库主要部署在国外,从国内下载速度较慢,国内许多高校或公司通过架设开源镜像站来解决该问题,这些镜像站一般都是向国内开发者开放的,我们可以通过配置国内的镜像来解决下载速度慢的问题。

所谓开源镜像站,指的是存放开源操作系统、开源组件等镜像文件的站点,国内的镜像站通过定期/实时同步国外源站的开源操作系统或组件,为国内用户提供高速、稳定的依赖包下载服务。

目前国内比较常用的镜像站包括华为开源镜像站、清华大学镜像站、中科大镜像站等等,今天主要以华为开源镜像站为示例给大家进行讲解

方式一,配置针对所有项目的全局镜像库

在Maven安装目录下找到Maven的配置文件setting.xml,里面有个<mirrors>配置项目,这里配置了所有的全局镜像,你可以在<mirrors>下增加以下节点:

<mirror>
    <id>huaweicloud</id>
    <mirrorOf>*</mirrorOf>
    <url>https://mirrors.huaweicloud.com/repository/maven/</url>
</mirror>

如下图所示:

需要注意的是,<mirrors>下配置了多个镜像库时,只有当第一个镜像库无法连接时,才会使用第二个镜像库查找jar文件,否则即使第一个镜像库里找不到想的jar文件,也不会去第二个镜像库查找。因此,若需要配置多个镜像库,可将<mirrorOf>设置为*,!repo1,在<profiles>标签中增加个性化配置,并在<activeProfiles>标签中将其激活,完整如下图所示:

方式二,配置针对单个项目的镜像库

在项目的maven配置文件pom.xml里,添加repositories配置即可,如下:

 <repositories>
<repository>
<id>huaweicloud</id>
<name>huaweicloud</name>
<url>>https://mirrors.huaweicloud.com/repository/maven/</url>
</repository>
</repositories>

如下图所示:

注意:在pom.xml中配置了repository后,setting.xml文件中关于mirror部分的<mirrorOf>标签不能设置为*,否则pom.xml中的repository配置不会生效。<mirrorOf>需要配置为*,!huaweicloud将huaweicloud镜像设为例外,如下图:

更多信息可以参考华为开源镜像站

Maven依赖的JAR包下载慢?赶紧看过来的更多相关文章

  1. (转)Maven依赖的jar包下载不了、jar更新不了的解决办法

    场景一: 使用Maven的同学可能偶尔会遇到这种情况:pom.xml中依赖了项目需要的某个jar文件,但是使用Maven –> update project 还是没办法下载该jar到项目中,你可 ...

  2. 通过Maven将指定Jar包下载到指定的本地目录

    现在大家大部分都通过Maven等工具来管理包,但是特殊情况下还是需要将包下载到本地.我们可以通过maven命令来完成这个需求.创建一个pom.xml文件,文件内容如下: <?xml versio ...

  3. Maven远程仓库:pom依赖以及jar包下载

    Maven远程仓库:pom依赖xml配置以及jar包下载: 地址1: http://mvnrepository.com/ 地址2: http://172.16.163.52:8081/nexus/#w ...

  4. 正确配置jstl的maven依赖,jar包冲突的问题终于解决啦

    困扰了两天的问题,非常头疼,今天终于有了解决思路了,说到底,还是对maven不够了解吧.总是抱怨maven不好用,出现各种无厘头的问题,原来这些都是归于对它不够了解不够熟悉,它提供了很好的解决思路,只 ...

  5. eclipse导出maven依赖的jar包

    一.导出到默认目录 targed/dependency 1.从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令: mvn dependency:copy-de ...

  6. 使用阿里云maven镜像加速jar包下载

    编辑 MAVEN_HOME/conf 文件夹下的 settings.xml,找到 <mirrors> 节点,把下面内容添加在其子节点内: <mirror> <id> ...

  7. maven项目导出依赖的Jar包以及项目本身以jar包形式导出详细教程

    一.maven项目已jar包形式导出 1.首先右键项目,选择Export 2.选择好项目,设置导出路径和jar名字即可: 二.导出maven项目所依赖的所有jar包 1.右键项目,选择Export 2 ...

  8. Maven工程引入jar包

    Maven项目引入jar包的方法 法一.手动导入:项目右键—>Build Path—>Configure Build Path—>选中Libraries—>点击Add Exte ...

  9. 转:maven项目添加jar包.

    很多新手都不知道如何在maven项目里添加jar包. 以前我还没接触maven的时候下载过一个demo,是maven项目. 我居然是照着他的pom.xml文件一个一个的写!!! 很多人认为理所当然的东 ...

随机推荐

  1. java-tip-各种Map的区别及如何选择

    这里主要讨论这三种:HashMap.LinkedHashMap.TreeMap 1. HashMap是常规的哈希表,查询以及插入的性能最好,如果没有特殊要求,应该使用这个 2. LinkedHashM ...

  2. 377. Combination Sum IV 返回符合目标和的组数

    [抄题]: Given an integer array with all positive numbers and no duplicates, find the number of possibl ...

  3. sqlserver 文件与文件组的使用和优化

    文件和文件组填充策略     文件组对组内的所有文件都使用按比例填充策略.当数据写入文件组时,SQL Server 数据库引擎按文件中的可用空间比例将数据写入文件组中的每个文件,而不是将所有数据都写入 ...

  4. Loadrunner11无法在win7 64位上启用ie解决办法

    Loadrunner11无法在win7 64位上启用ie解决办法 1.loadrunner11在win7 64位上默认启用的是32位的那个IE浏览器,路径:C:\Program Files (x86) ...

  5. Android代码速查,写给新手的朋友们[转]

    原文地址:http://www.open-open.com/lib/view/open1397286499090.html 0 android 创建按钮 Button button = new But ...

  6. html5标签---不常用新标签的整理

    状态标签 meter 用来显示已知范围的标量值或者分数值. value:当前的数值. min:值域的最小边界值.如果设置了,它必须比最大值要小.如果没设置,默认为0 max:值域的上限边界值.如果设置 ...

  7. python json.dumps输出中文问题

    json.dumps 输出的中文是"\u6211\u662f"格式的,输出中文需要指定ensure_ascii=False. json.dumps(actual,ensure_as ...

  8. C#中的异步调用及异步设计模式(二)——基于 IAsyncResult 的异步设计模式

    三.基于 IAsyncResult 的异步设计模式(设计层面) IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来 ...

  9. APUE(5)---标准I/O库 (1)

    一.引言 标准I/O库不仅是UNIX,许多i其他操作系统都实现了标准I/O库,所以这个库由ISO C标准说明.标准I/O库处理很多细节,如缓冲区分配,以及优化的块长度执行I/O等.这使得它便于用户使用 ...

  10. CentOS安装gotop

    1.安装go语言环境 yum install golang 2.安装gotop程序 git clone --depth 1 https://github.com/cjbassi/gotop /tmp/ ...