让maven加载jar包快一点——下载archetype-catalog.xml

背景

在用idea做开发的时候,发现每次用maven加载jar包都很慢需要等很久。当我们使用maven原型生成项目骨架时,经常会在[INFO] Generating project in Interactive mode这个地方特别慢,这里并不是什么出错卡住的原因,我们打开mvn的debug模式就可以看到下面的信息:

[DEBUG]Searching for remote catalog:http://repo1.maven.org/maven2/archetype-catalog.xml

这个操作是在寻找远程原型数据信息,加载jar包的时候,maven也要去连接 http://repo1.maven.org/maven2/archetype-catalog.xml 这个文件,由于文件很大,导致网络延时,所以加载jar慢。

解决办法

1、本地存放maven骨架
打开这个链接,然后另存为archetype-catalog.xml,把这个文件放到maven的.m2隐形文件夹 (windows下在C:\Users文件夹下搜索就能找到)。
在这里插入图片描述

补充:.m2目录下也可以防止maven的配置文件,并且maven默认的本地仓库就是.m2的目录下。.m2下面的maven配置文件比maven安装目录下的config目录下面的配置文件优先级高。

2、指定-DarchetypeCatalog为internal
打开idea,点击File——>settings——搜索框中搜索 Maven——>Runner——在Runner配置页中的VM Options 中输入:

-DarchetypeCatalog=internal

配置完这两步之后,下次加载jar包速度就提升很多加载会快一些。
在这里插入图片描述

archetypeCatalog用来指定maven-archetype-plugin读取archetype-catalog.xml文件的位置:

  • internal:maven-archetype-plugin内置的
  • local:mvn会使用本地的原型数据来供你选择生成骨架原型
  • remote:指向maven中央仓库的Catalog

3、setting.xml加入阿里云镜像
由于大多数jar包来自国外,使用maven默认配置下载很费劲,所以可以在maven的配置文件(maven.config.setting.xml)中加入下面代码(阿里云镜像),这个时候重新下载jar包,速度很快。

<mirrors>
        <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>;
        </mirror>
    </mirrors>
发布了194 篇原创文章 · 获赞 225 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/Sophia_0331/article/details/105504320