You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

公网Maven依赖存在却无法下载的原因及非本地安装解决方法

解决Maven commons-dbcp:1.4依赖下载失败(缓存导致不重试)的问题

这种因为本地缓存了失败记录,导致Maven死活不重试下载的情况我碰到过好多次,完全不用手动装jar包就能解决,给你几个靠谱的办法:

1. 手动删除本地仓库的失败缓存文件

Maven会把下载失败的状态存在.lastUpdated后缀的文件里,只要删掉这些文件,它就会重新尝试下载。

  • 找到本地仓库中commons-dbcp:1.4的路径:
    • Windows:C:\Users\你的用户名\.m2\repository\commons\dbcp\commons-dbcp\1.4
    • Linux/macOS:~/.m2/repository/commons/dbcp/commons-dbcp/1.4
  • 删除该目录下所有以.lastUpdated结尾的文件,还有可能存在的resolver-status.properties状态文件
  • 重新执行mvn clean install或者mvn dependency:resolve即可

2. 使用Maven强制更新命令

直接在项目根目录执行以下命令,-U参数会强制Maven忽略本地缓存,重新检查并下载所有依赖(包括稳定版本,不仅仅是快照):

mvn clean install -U

这个方法最简单,不用手动找文件,亲测大部分情况都能直接解决问题。

3. 修改Maven配置,强制每次检查依赖

如果你不想每次都敲-U,可以修改settings.xml(一般在~/.m2/目录下),配置Maven每次构建都去远程仓库检查依赖状态:

在<profiles>标签内添加如下配置:

<profile>
  <id>force-check-updates</id>
  <activation>
    <activeByDefault>true</activeByDefault>
  </activation>
  <repositories>
    <repository>
      <id>central</id>
      <url>https://repo.maven.apache.org/maven2</url>
      <updatePolicy>always</updatePolicy>
    </repository>
    <!-- 如果你项目里用了其他公网仓库,同样给它们加上<updatePolicy>always</updatePolicy> -->
  </repositories>
</profile>

这样Maven每次构建都会主动去远程仓库确认依赖是否可用,不会再依赖本地的失败缓存。

4. 确认远程仓库包含该依赖

有时候可能是你配置的公网仓库没有同步commons-dbcp:1.4,这时候可以在项目的pom.xml中临时添加中央仓库的配置,优先从官方仓库拉取:

<repositories>
  <repository>
    <id>maven-central</id>
    <url>https://repo.maven.apache.org/maven2</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
  </repository>
</repositories>

官方中央仓库肯定有这个依赖,这样能绕过可能有问题的镜像仓库。


内容的提问来源于stack exchange,提问作者Đỗ Như Vỹ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 18:15:37