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

如何强制更新Maven依赖源码并重新下载损坏的源码JAR包?

如何重新下载损坏的Maven依赖源码JAR包

碰到大量损坏的Maven源码JAR包确实挺闹心的,我来给你分享几个实用的解决办法,帮你重新拉取完整的源码:

方法一:批量清理所有源码包后重新下载

如果不确定具体哪些源码包损坏,最直接高效的方式就是先清空本地仓库里所有已下载的源码JAR,让Maven重新拉取一遍。

不同系统的清理命令:

  • Windows(PowerShell):把下面命令里的你的Maven仓库路径替换成你实际的路径(比如默认的C:\Users\你的用户名\.m2\repository),执行后会递归删除所有带-sources.jar后缀的文件:

    Get-ChildItem -Path "你的Maven仓库路径" -Filter "*-sources.jar" -Recurse | Remove-Item -Force
    
  • Linux/macOS(终端):同样替换路径(默认是~/.m2/repository),用find命令批量删除:

    find /你的Maven仓库路径 -name "*-sources.jar" -type f -delete
    

清理完成后,回到你的项目根目录,重新执行源码下载命令:

mvn dependency:sources

这时候Maven会重新从镜像源拉取所有依赖的完整源码包。

方法二:针对特定损坏的依赖单独处理

如果你能确定哪些依赖的源码包损坏,可以只清理对应目录下的文件,然后单独拉取该依赖的源码,避免重复下载所有内容。

  1. 找到本地仓库中对应依赖的目录,删除里面的-sources.jar文件,以及对应的校验文件(比如.sha1、.md5)——这些校验文件如果存在,Maven会认为本地包是合法的,不会重新下载。
  2. 执行以下命令单独拉取该依赖的源码(把groupId:artifactId替换成你需要的依赖坐标):
    mvn dependency:sources -Dincludes=groupId:artifactId
    
    比如要重新下载Guava的源码,就用:
    mvn dependency:sources -Dincludes=com.google.guava:guava
    

额外小贴士

  • 如果重新下载后还是出现损坏,大概率是镜像源的问题,建议检查你的Mavensettings.xml,切换到官方镜像或者更稳定的国内镜像源。
  • 执行源码下载命令时可以加上-U参数,强制Maven更新依赖元数据,避免使用缓存的旧信息:
    mvn dependency:sources -U
    

内容的提问来源于stack exchange,提问作者BenMansourNizar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:49:43