使用idea时,在查看源码并点击下载时报错idea cannot download sources,改怎么解决?
·
1.方法参考
一、首选方案:使用Maven命令强制下载源码(成功率最高)
-
打开IDEA的Terminal(位于底部工具栏或右下角)。
-
切换到项目根目录(确保路径包含
pom.xml文件)。 -
执行命令:
mvn dependency:resolve -Dclassifier=sources- 该命令会重新下载所有依赖的源码包(均验证有效)。
-
完成后操作:
- 若源码未自动加载,点击源码按钮旁的 “Choose Sources” ,手动选择本地仓库中的源码JAR包(路径通常为
~/.m2/repository)。 - 刷新Maven依赖(右键项目 → Maven → Reload Project)。
- 若源码未自动加载,点击源码按钮旁的 “Choose Sources” ,手动选择本地仓库中的源码JAR包(路径通常为
二、检查Maven配置(解决网络或仓库拦截问题)
- 修改
settings.xml文件:-
打开Maven配置文件(路径通常为
~/.m2/settings.xml)。 -
注释掉
maven-default-http-blocker(该规则从Maven 3.8.1起默认拦截HTTP仓库):<!-- <mirror> <id>maven-default-http-blocker</id> <mirrorOf>external:http:*</mirrorOf> <name>Block external HTTP repositories</name> <url>http://0.0.0.0/</url> </mirror> --> -
将仓库地址从HTTP改为HTTPS(如
[http://repo.maven.apache.org ](http://repo.maven.apache.org )→[https://repo.maven.apache.org ](https://repo.maven.apache.org ))。
-
- 切换IDEA内置Maven:
- 进入
Settings → Build, Execution, Deployment → Build Tools → Maven - 将 “Maven home path” 改为
Bundled (Maven 3)(避免本地Maven配置问题)。
- 进入
三、其他针对性方案
- 删除损坏的临时文件:
- 若某个依赖下载失败,进入本地仓库(
~/.m2/repository),找到对应依赖目录,删除以.lastUpdated结尾的文件(如spring-test-2.5.6-sources.jar.lastUpdated),重试下载。
- 若某个依赖下载失败,进入本地仓库(
- 检查仓库路径一致性:
- 新建项目时若未自定义仓库路径,源码可能下载到默认路径(
C:\Users\xxx\.m2\repository),但IDEA仍指向旧路径。需在settings.xml中统一配置路径。
- 新建项目时若未自定义仓库路径,源码可能下载到默认路径(
- IDEA设置调整:
- 勾选自动下载源码:
Settings → Build Tools → Maven → Importing→ 勾选 “Automatically download: Sources” 和 “Documentation” 。 - 勾选 “Override” 本地仓库路径(同上设置页)。
- 勾选自动下载源码:
四、验证与注意事项
- 执行命令后需观察输出:出现 “BUILD SUCCESS” 表示源码下载成功。
- 重启IDEA:修改配置后建议重启IDEA确保生效。
- 网络问题:若公司网络限制,尝试切换网络或配置代理。
总结推荐步骤:
优先执行 Terminal命令方案(一) → 失败则检查 Maven配置(二) → 针对特定依赖使用 临时文件删除(三.1)。多数案例通过方案一或二解决。
2.实操记录
1. 检查maven配置
查看setting里面的配置是否一致

2. 查看下图的的配置是否勾选
- a. sources配置勾选

- b. 更新设置

3.项目主目录运行
mvn dependency:resolve -Dclassifier=sources

更多推荐



所有评论(0)