NoClassDefFoundError when 运行 jacocoTestReport gradle 任务

NoClassDefFoundError when running jacocoTestReport gradle task

我已经为几个 gradle 项目配置了 jacoco 覆盖率插件,但是有一个在 运行 jacocoTestReport 任务时出现错误。

我试过将 jacoco 依赖项添加为 testRuntime 或编译,但它根本没有帮助。

我也尝试添加代理 jar,但没有成功。

jacocoTestReport {
    File jacocoLibDir = file("$buildDir/tmp/expandedArchives/org.jacoco.agent-0.8.5")
    jacocoClasspath = files { jacocoLibDir.listFiles() }
}

我得到的错误是:

> Task :jacocoTestReport FAILED

Execution failed for task ':jacocoTestReport'.
> org/jacoco/core/analysis/ICoverageVisitor

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':jacocoTestReport'.
    ...
Caused by: java.lang.NoClassDefFoundError: org/jacoco/core/analysis/ICoverageVisitor
    ... 
Caused by: java.lang.ClassNotFoundException: org.jacoco.core.analysis.ICoverageVisitor
    ... 64 more

在 build.gradle 中添加以下部分使任务执行成为可能

buildscript {
    dependencies {
        classpath("org.jacoco:org.jacoco.ant:0.8.5")
    }
}

jacocoTestReport {
    jacocoClasspath = project.buildscript.configurations.classpath
}