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

Eclipse搭配Gradle如何生成调试时可关联源码的jar包

问题解决:Eclipse Gradle项目引用本地Jar无法关联源码问题

根因说明

  • 生成Jar的项目中,withSourcesJar()配置仅会单独生成源码Jar包,不会把源码合并到主Jar中,你当前仅将主Jar输出到了../mytargets目录,源码Jar未同步输出
  • 引用项目使用files()直接依赖本地Jar的方式,Gradle无法自动识别同目录下的源码Jar,且Eclipse默认禁止修改Gradle依赖容器的源码附件配置,因此出现对应的报错。

解决方案

方案1:调整配置实现源码自动关联(推荐,无需手动附加源码)

  1. 修改生成Jar的项目(a-annotations)的build.gradle,添加源码Jar的输出目录配置:
// 追加到原配置末尾即可
tasks.named('sourcesJar') {
    destinationDirectory = file("$rootDir/../mytargets")
}

执行build任务后,../mytargets目录下会同时生成a-annotations-1.0.jar(主Jar)和a-annotations-1.0-sources.jar(源码Jar)。

  1. 修改引用项目的build.gradle配置:
    首先在repositories块中添加本地Jar目录作为flat仓库:
repositories {
    jcenter()
    mavenCentral()
    // 新增以下配置
    flatDir { dirs '../mytargets' }
}

修改依赖声明,替换原来的api files('../mytargets/a-annotations-1.0.jar'):

dependencies {
    // 其他依赖不变
    api 'a-annotations:a-annotations:1.0'
}
  1. 右键引用项目 -> 选择Gradle -> Refresh Gradle Project,刷新后调试即可自动识别源码。

方案2:无需修改依赖配置,手动放开Eclipse源码附加限制

如果你不想调整现有依赖逻辑,可通过以下方式手动附加源码:

  1. 右键引用项目 -> 选择Properties -> 找到Gradle设置页
  2. 取消Classpath分组下的Disable source attachment for JARs and classes folders from Gradle containers勾选
  3. 点击Apply and Close后刷新Gradle项目
  4. 再次点击报错页的Attach Source按钮,选择../mytargets目录下的a-annotations-1.0-sources.jar即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 09:15:02