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

多模块项目集成Jacoco构建失败:无法覆盖jacoco-agent.properties

多模块Jacoco集成解决jacoco-agent.properties覆盖冲突方案
  • 排查重复引入问题
    检查所有子模块的build.gradle,确认没有单独再次应用Jacoco插件。你已经通过根项目的subprojects块全局引入了jacoco.gradle,子模块重复引入会导致多次生成jacoco-agent.properties,打包时触发覆盖冲突。

  • 修改Jacoco配置排除冗余文件打包
    在jacoco.gradle中添加Jar任务的排除规则,阻止jacoco-agent.properties被打包进res.jar:

    tasks.withType(Jar) {
        exclude 'jacoco-agent.properties'
    }
    

    或者针对测试任务的Jacoco Agent做定向配置,仅让配置文件在测试阶段生效,不进入产物包:

    test {
        jacoco {
            enabled = true
            agent {
                options = ['destfile': file("$buildDir/jacoco/test.exec").absolutePath]
            }
        }
    }
    
  • 优化subprojects配置时机
    把jacoco.gradle的应用逻辑从afterEvaluate块中移出,直接放在subprojects下,减少重复执行的概率:

    subprojects {
        apply from: rootProject.file('jacoco.gradle')
        // 其他子模块通用配置
    }
    
  • 清理缓存后重新构建
    执行Gradle清理命令清除历史构建产生的冲突文件,再重新构建:

    ./gradlew clean build
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:35:36