Maven 在尝试连接到 Maven Central 仓库超时的解决方案和排查步骤

Maven 在尝试连接到 Maven Central 仓库时超时。以下是一些可能的解决方案和排查步骤:

1. 检查网络连接

确保你的网络连接正常,并且能够访问外网。

  • Ping 测试:

    sh 复制代码
    ping repo.maven.apache.org
  • Telnet 测试:

    sh 复制代码
    telnet repo.maven.apache.org 443

2. 配置代理

如果你在公司网络中使用代理服务器,需要配置 Maven 使用代理。

编辑 settings.xml

找到或创建 Maven 的 settings.xml 文件,通常位于 ~/.m2/settings.xml${MAVEN_HOME}/conf/settings.xml

添加代理配置:

xml 复制代码
<settings>
  <proxies>
    <proxy>
      <id>example-proxy</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.example.com</host>
      <port>8080</port>
      <username>proxyuser</username>
      <password>proxypass</password>
      <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

3. 使用镜像仓库

有时直接连接到 Maven Central 可能会很慢或不稳定,可以配置国内的镜像仓库来加速依赖下载。

编辑 settings.xml

找到或创建 Maven 的 settings.xml 文件,通常位于 ~/.m2/settings.xml${MAVEN_HOME}/conf/settings.xml

添加镜像配置:

xml 复制代码
<settings>
  <mirrors>
    <mirror>
      <id>nexus-aliyun</id>
      <name>Nexus Aliyun Mirror</name>
      <url>https://maven.aliyun.com/repository/public</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>

4. 清除本地缓存

有时候本地缓存可能导致问题,可以尝试清除本地仓库中的缓存。

删除本地仓库

删除或重命名本地 Maven 仓库目录,通常位于 ~/.m2/repository

sh 复制代码
rm -rf ~/.m2/repository/com/baomidou/mybatis-plus-core

然后重新运行 Maven 构建命令。

5. 增加超时时间

增加 Maven 的连接和传输超时时间。

编辑 settings.xml

找到或创建 Maven 的 settings.xml 文件,通常位于 ~/.m2/settings.xml${MAVEN_HOME}/conf/settings.xml

添加超时配置:

xml 复制代码
<settings>
  <profiles>
    <profile>
      <id>custom-timeouts</id>
      <properties>
        <http.connection.timeout>60000</http.connection.timeout>
        <http.socket.timeout>120000</http.socket.timeout>
      </properties>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>custom-timeouts</activeProfile>
  </activeProfiles>
</settings>

6. 使用 -U 参数强制更新依赖

使用 -U 参数强制 Maven 更新所有快照和发布版本的依赖。

sh 复制代码
mvn clean install -U

7. 检查防火墙和安全组设置

确保防火墙或安全组没有阻止对 repo.maven.apache.org 的访问。

8. 使用 VPN 或其他网络

如果上述方法都不奏效,可以尝试使用 VPN 或切换到其他网络环境进行构建。

示例:配置 Maven 使用阿里云镜像

以下是配置 Maven 使用阿里云镜像的具体步骤:

  1. 编辑 settings.xml :

    打开或创建 ~/.m2/settings.xml 文件。

  2. 添加镜像配置 :

    添加以下内容到 <settings> 标签内:

    xml 复制代码
    <settings>
      <mirrors>
        <mirror>
          <id>nexus-aliyun</id>
          <name>Nexus Aliyun Mirror</name>
          <url>https://maven.aliyun.com/repository/public</url>
          <mirrorOf>central</mirrorOf>
        </mirror>
      </mirrors>
    </settings>
  3. 保存并关闭文件

  4. 重新运行 Maven 构建:

    sh 复制代码
    mvn clean install

示例:配置 Maven 使用代理

以下是配置 Maven 使用代理的具体步骤:

  1. 编辑 settings.xml :

    打开或创建 ~/.m2/settings.xml 文件。

  2. 添加代理配置 :

    添加以下内容到 <settings> 标签内:

    xml 复制代码
    <settings>
      <proxies>
        <proxy>
          <id>example-proxy</id>
          <active>true</active>
          <protocol>http</protocol>
          <host>proxy.example.com</host>
          <port>8080</port>
          <username>proxyuser</username>
          <password>proxypass</password>
          <nonProxyHosts>localhost|127.0.0.1</nonProxyHosts>
        </proxy>
      </proxies>
    </settings>
  3. 保存并关闭文件

  4. 重新运行 Maven 构建:

    sh 复制代码
    mvn clean install

总结

通过以上步骤,你应该能够解决 Maven 下载依赖时遇到的连接超时问题。如果问题仍然存在,建议检查以下几点:

  • 网络连接: 确保网络稳定。
  • 代理设置: 如果使用代理,确保配置正确。
  • 镜像仓库: 使用国内镜像仓库加快下载速度。
  • 防火墙和安全组: 确保没有阻止对 Maven Central 的访问。
相关推荐
2601_962341309 小时前
计算机毕业设计之jsp考研在线复习平台
java·大数据·开发语言·hadoop·python·考研·课程设计
huangjiazhi_9 小时前
纯C++实现ini文件操作
java·后端·spring
zhixingheyi_tian9 小时前
JVM 之 GCLocker
java·jvm
码哥字节9 小时前
把 Cursor 的烂输出变成好代码,这 10 个 Prompt 改造让我省了 80% 改稿时间
java·ai编程工具·cursor 配置·prompt 技巧
2503_931712489 小时前
10m/s超高速电梯:西奥XO-NEWIII如何树立行业速度标杆
java·大数据·数据库
折哥的程序人生 · 物流技术专研9 小时前
第4篇:抽象工厂模式——产品族一键创建
java·设计模式·抽象工厂模式·创建型模式·编程进阶·产品族·扩充系列
正儿八经的少年9 小时前
Spring Boot
java·spring boot·后端
未秃头的程序猿10 小时前
虚拟线程用了一年,我真香了——10倍吞吐量是真实存在的
java·后端·面试
豆瓣鸡10 小时前
封装 Jackson 配置 Starter:统一解决 LocalDateTime 请求解析和响应格式化问题
java·spring boot
xiaogai_gai10 小时前
钉钉数据集成到金蝶云星空案例分享:传给钉钉后,回传金蝶字段
java·前端·钉钉