问题描述
我已经为几个gradle项目配置了jacoco coverage插件,但是其中一个在运行jacocoTestReport任务时出现错误。
我曾尝试将jacoco依赖项添加为testRuntime或compile,但这根本没有帮助。
我还尝试添加代理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
}