menu 光风霁月。
如果 Apache Maven 下载速度堪忧!
631 浏览 | 2020-06-01 | 阅读时间: 约 2 分钟 | 分类: 开发小工具 | 标签: Maven,IntelliJ IDEA
请注意,本文编写于 186 天前,最后修改于 170 天前,其中某些信息可能已经过时。

前言

最近在做 Web 后端开发的大作业,使用的框架是 Springboot,使用的编辑器是 IntelliJ IDEA(几乎人人皆知的 JAVA 开发神器)。Maven 是由 Apache 公司维护的,但是它的服务器在国外,我们在 IDEA 中新建一个 SpringBoot 项目时经常会遇到下载一半报错,遇到像 can not resolve XXX,或者 download from url XXX timeout 的错误。我将自己最近的处理经验总结下来,与广大 Web 开发同学共勉。

方案一 删除文件,重新下载。

IDEA 配置的 Maven 默认仓库在 C 盘,例如我电脑上的位置是 C:\Users\Administrator\.m2。如果下载一半出错,点击刷新按钮(Reload All Maven Projects)是没有用的,按钮位置如下图:

只有将那些不完整的文件删除之后,IDEA 才会重新下载。但是可不要图省事,将整个 .m2 文件夹全部删除,不然那些下载成功的又要重新下载,我们可以对症下药。

假如 mybatis 的一个 jar 包没下载完导致编辑器报红了,我们可以找到 .m2 中 存放 mybatis 的目录,将相应的版本文件夹删除,然后点击上面提到的按钮,让 IDEA 重新下载。

方案二 更换网络环境

如果方案一试了很多次 IDEA 始终下载不下来,那就说明是自己网络的事情,可以考虑换个网络尝试一下,比如 手机开热点科学上网网络加速器 等等。

如果手机没流量,没有现成网络代理工具,可以试一试使用云服务器下载文件的方式。一般 web 开发者都会有像学生机这样的服务器,我们可以利用它的网络帮我们下载。

使用方式是找到下载超时的 URL,这个 IDEA 控制台会给出的。然后使用 shell 登录到云服务器,用 wget 命令,把文件下载下来(也就是一个 jar 包和一个 pom 文件),拷贝到本地仓库相应的文件夹里。

如果你没有云服务器,可以把 URL 发给异地朋友,让他帮你下载,再 QQ 发过来也可。

方案三 更换阿里云镜像

更换镜像是最佳的办法,具体方法是 在 .m2 的根目录下,新建一个名为 settings.xml 的配置文件,然后把下面的内容拷贝进去。当然,更换镜像后也会时不时出现不能下载的问题,归根结底是网络原因,使用方案一或方案二再试试,实在不行给包换个版本。

记得把 localRepository 标签中的地址改一下奥!

<?xml version="1.0" encoding="UTF-8"?>
<settings>
<localRepository>C:/Users/Administrator/.m2</localRepository>
    <mirrors>
        <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
    </mirrors>
  <profiles>
    <profile>
       <id>nexus</id>
        <repositories>
            <repository>
                <id>nexus</id>
                <name>local private nexus</name>
                <url>http://maven.oschina.net/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>false</enabled>
                </snapshots>
            </repository>
        </repositories>

        <pluginRepositories>
            <pluginRepository>
            <id>nexus</id>
            <name>local private nexus</name>
            <url>http://maven.oschina.net/content/groups/public/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile></profiles>
</settings>
知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

发表评论

email
web

全部评论 (共 1 条评论)

    2020-06-16 22:03
    更换了评论插件,过滤掉了很多垃圾评论,试一下效果。