无法在Java多模块项目中生成Jacoco报告



我正在使用Gradle 7.5开发Java Spring Boot项目

它被组织成多个模块,其中大多数都包含一些测试。

今天我尝试为我的项目启用代码覆盖率报告。因此,我将jacoco插件添加到所有项目:

apply plugin: 'jacoco'
jacoco {
toolVersion = "0.8.8"
}

关于子项目我有以下任务:

jacocoTestReport {
reports {
html.enabled = true
xml.enabled = true
csv.enabled = false
}
}

'当我尝试运行任务jacocoTestReport时,构建失败,第一个模块上显示以下错误:

The value for this file collection is final and cannot be changed

我哪里做错了?

谢谢你的帮助!

我已经尝试了不同版本的gradle,并在谷歌上搜索了很多,但不幸的是,没有一个建议的解决方案适合我。

我也遇到过这个问题,但我仍然不知道如何解决。

jdk版本:

11gradle版本:7.5

jacoco。部分代码如下:

task jacocoTotalReport(type: JacocoReport, dependsOn: project.getTasksByName("testDebugUnitTest", true)) {
doFirst {
subprojects.each { project ->

def unitTestResultFile = "${project.buildDir}/jacoco/testDebugUnitTest.exec"
if (file(unitTestResultFile).exists() && executionData != null) {
executionData.setFrom(unitTestResultFile)
}
}
}
}

Error content:
> The value for this file collection is final and cannot be changed.

相关内容

  • 没有找到相关文章

最新更新