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

使用Gradle获取Spring Boot源码,解决调试时源码缺失问题

如何用Gradle配置Spring Boot项目同时下载Jar与源码包

当然可以通过Gradle配置实现同时下载依赖的Jar包和源码包,而且解决你遇到的“Source not found”问题很简单!

你之前的配置问题在于只指定了sources classifier,这会导致Gradle只下载该依赖的源码包,而不是同时下载编译后的Jar包和源码包——相当于你的项目依赖的是一堆.java文件,而非可执行的类文件,调试时自然找不到对应源码关联。

下面给你两种可行的解决方案,推荐第一种全局配置,省心省力:

方案一:全局自动下载并关联源码(推荐)

如果你用Eclipse开发,直接在build.gradle中添加Eclipse插件的配置,让Gradle自动为所有依赖下载源码并关联到项目中:

plugins {
    id 'java'
    id 'org.springframework.boot' version '1.5.8.RELEASE'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}

// 核心配置:让Eclipse项目自动下载并关联依赖的源码和Javadoc
eclipse {
    classpath {
        downloadSources = true
        downloadJavadoc = true // 可选,如果你需要Javadoc的话
    }
}

// 你的其他依赖配置,正常声明即可,不用加classifier
dependencies {
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:'1.5.8.RELEASE'
    // 其他依赖...
}

配置完成后,执行以下步骤:

  • 在终端运行 gradle eclipse 命令,重新生成Eclipse项目配置文件
  • 回到Eclipse,右键项目 → Gradle → Refresh Gradle Project
  • 现在调试Spring类时,就能直接看到源码啦

如果是IDEA用户,配置类似,把eclipse块换成idea块即可:

idea {
    module {
        downloadSources = true
        downloadJavadoc = true
    }
}

之后运行 gradle idea 重新生成IDEA项目文件即可。

方案二:单独为某个依赖添加源码依赖

如果你只想给特定依赖下载源码,可以同时声明Jar包和源码包依赖,比如:

dependencies {
    // 正常依赖编译后的Jar包
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:'1.5.8.RELEASE'
    // 额外添加源码包依赖
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version:'1.5.8.RELEASE', classifier: 'sources'
}

这种方式需要逐个依赖配置,适合只需要特定依赖源码的场景,但不如全局配置高效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:08:36