idea中自动下载maven依赖源码需开启settings→maven→importing的“download source code”和“download documentation”,或执行mvn dependency:sources命令;源码存于~/.m2/repository对应路径,按ctrl+click可验证是否成功加载。

在 Maven 中,downloadSources 并不是一个标准的 Maven 属性或配置项,它不能直接写在 pom.xml 或命令行中生效。真正起作用的是 Maven 的 IDE 插件(如 m2e)或 IDE 自身的设置,以及通过命令行参数或插件显式触发源码下载。
IDEA 中自动下载依赖源码
IntelliJ IDEA 默认会在导入 Maven 项目时尝试下载源码和 Javadoc(如果仓库中存在)。确保以下设置开启:
- 打开 Settings → Build, Execution, Deployment → Build Tools → Maven → Importing
- 勾选 “Download source code” 和 “Download documentation”
- 重新 Import Project 或点击右上角 Maven 工具栏的 Reload project
命令行强制下载源码
使用 maven-dependency-plugin 可以在构建过程中主动拉取源码:
mvn dependency:sources
该命令会为当前项目所有已解析的依赖(包括传递依赖)尝试下载 -sources.jar。若某依赖未发布源码包,则跳过。
也可结合 -Dclassifier=sources 配合 dependency:get 单独获取某个依赖的源码:
mvn dependency:get -DgroupId=org.slf4j -DartifactId=slf4j-api -Dversion=2.0.12 -Dclassifier=sources
在 pom.xml 中配置插件自动下载(不推荐常规使用)
虽然不常用,但可通过绑定 dependency:sources 到生命周期实现构建时自动执行:
<build><plugins><plugin><groupid>org.apache.maven.plugins</groupid><artifactid>maven-dependency-plugin</artifactid><version>3.6.0</version><executions><execution><id>download-sources</id><phase>process-resources</phase><goals><goal>sources</goal></goals></execution></executions></plugin></plugins></build>
⚠️ 注意:这会拖慢构建速度,且失败不会中断构建(除非加 -DfailOnMissingClassifierArtifact=true),仅建议调试或特殊场景使用。
确认源码是否已下载
Maven 默认将源码存放在本地仓库对应路径下,例如:
~/.m2/repository/org/slf4j/slf4j-api/2.0.12/slf4j-api-2.0.12-sources.jar
可在 IDEA 中按 Ctrl+Click 进入任意依赖类,若跳转到反编译代码,说明源码未就位;若显示可读源码,说明已成功下载。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











