如何让IntelliJ的Download Sources功能正常工作?
IntelliJ下载源码后仍显示反编译桩代码的解决方法
问题描述
查看第三方库源码时,IntelliJ偶尔无法自动加载实际源码,仅显示带有/* compiled code */的反编译桩代码。点击界面提示栏的「Download Sources」后,Gradle会提示源码包已成功下载(比如Compose的foundation-desktop-1.5.1-sources.jar),本地缓存目录也能找到该文件,但无论自动还是手动通过「Choose Sources...」选择源码包,界面始终不切换为显示实际源码。
示例Gradle下载日志
> Task :app:DownloadSources Attempt to download sources from MavenRepo Sources were downloaded to C:\Users\Jorn\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.foundation\foundation-desktop\1.5.1\71341e4cdac6188a1f6917fc7386d6ee66a6790\foundation-desktop-1.5.1-sources.jar BUILD SUCCESSFUL in 20s 1 actionable task: 1 executed 15:30:06: Execution finished ':app:DownloadSources -Dorg.gradle.configuration-cache=false -Dorg.gradle.unsafe.configuration-cache=false'.
解决方法
1. 清除本地缓存并重新下载
下载的源码包可能和当前依赖的编译包校验不匹配,导致IntelliJ拒绝加载:
- 找到对应库的本地缓存目录(如示例中的
C:\Users\Jorn\.gradle\caches\modules-2\files-2.1\org.jetbrains.compose.foundation\foundation-desktop\1.5.1),删除目录下所有文件。 - 回到IntelliJ,右键项目依赖列表中的该库,选择「Download Sources and Documentation」重新触发下载。
2. 刷新IntelliJ缓存
IDE缓存未同步新下载的源码:
- 点击顶部菜单「File」→「Invalidate Caches...」,选择「Invalidate and Restart」重启IDE。
- 重启后重新打开目标类,检查是否加载成功。
3. 检查Gradle依赖配置
确保Gradle正确关联源码下载:
- 在
build.gradle中确认依赖配置正常,可添加显式配置确保源码下载支持:dependencies { implementation "org.jetbrains.compose.foundation:foundation-desktop:1.5.1" } // 可选:显式启用调试信息与源码关联 tasks.withType(JavaCompile) { options.compilerArgs.add("-g") } - 点击右上角「Sync Project with Gradle Files」同步项目,再尝试下载源码。
4. 正确手动关联源码
若手动选择无效,检查操作步骤:
- 打开反编译类的界面,点击顶部提示栏的「Choose Sources...」。
- 找到本地缓存中的
sources.jar文件,选中后点击「OK」。 - 关闭当前类的标签页,重新打开即可加载源码。
内容的提问来源于stack exchange,提问作者user8681
相关产品推荐
相关产品推荐

