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

Gradle构建失败:jacocoTestReport配置中enabled()方法未找到

解决Gradle构建失败:jacocoTestReport的enabled方法报错

本地导入已有Spring Boot项目后,Gradle构建失败(此前项目可正常构建),控制台报错:

构建文件‘C:\Users\path\ce-paddle-core\build.gradle’第223行:评估根项目‘ce-paddle-core’时出现问题。> 无法在org.gradle.api.reporting.internal.TaskGeneratedSingleFileReport类型的Report xml上找到参数为[true]的enabled()方法。

项目中相关的build.gradle配置片段:

jacoco {
    toolVersion = jacocoVersion
}
jacocoTestReport {
  reports {
    xml.enabled true   //line 223
    html.enabled true
    html.destination file("${buildDir}/reports/coverage")
  }

  afterEvaluate {
    def excludeSourceDirs = jacocoExcludePackage.split(',')
    getClassDirectories().setFrom(files(classDirectories.files.collect {
      def path =it.getPath()
      fileTree(dir: it).filter {
        def fileDir = it.getParent().replace(path+'/', '').replace('/', '.')
        def fileName = it.getName().replace('.class', '')
        if(!excludeSourceDirs.contains(fileDir) && !excludeSourceDirs.contains(fileDir+'.'+fileName)){
            return it
        }
        }
    }))
  }
}

注释第223、224行可解决构建问题,但无法生成测试报告;添加以下Test任务参数也无效:

tasks.withType(Test) {
    jvmArgs += ["--add-opens", "java.base/java.net=ALL-UNNAMED"]
    jvmArgs += ["--add-opens", "java.base/java.util.concurrent=ALL-UNNAMED"]
    jvmArgs += ["--add-exports", "java.xml/jdk.xml.internal=ALL-UNNAMED"]

}

解决方案

问题根源是Gradle版本与Jacoco插件的语法兼容性差异。较新的Gradle版本不再支持xml.enabled true这种简写语法,需要改为显式赋值:

修改jacocoTestReport中的报告配置部分,将enabled的写法改为enabled =:

jacocoTestReport {
  reports {
    xml.enabled = true   // 修正语法
    html.enabled = true  // 修正语法
    html.destination file("${buildDir}/reports/coverage")
  }

  afterEvaluate {
    def excludeSourceDirs = jacocoExcludePackage.split(',')
    getClassDirectories().setFrom(files(classDirectories.files.collect {
      def path =it.getPath()
      fileTree(dir: it).filter {
        def fileDir = it.getParent().replace(path+'/', '').replace('/', '.')
        def fileName = it.getName().replace('.class', '')
        if(!excludeSourceDirs.contains(fileDir) && !excludeSourceDirs.contains(fileDir+'.'+fileName)){
            return it
        }
        }
    }))
  }
}

修改后重新执行构建,即可正常生成测试报告,同时解决构建报错问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 19:59:53