Gradle - JaCoCo via Jenkins build failure(java.lang.ClassNotFoundException: org.jacoco.report.IReportGroupVisitor)

127 views
Skip to first unread message

Makarand Jadhav

unread,
May 2, 2017, 4:46:24 AM5/2/17
to Jenkins Users
Hello,

Can someone please assist or point me in the right direction on gradle error seen during the build using JaCoCo plugin executing via Jenkins? Thanks in advance!
See details below on my setup and steps performed.

I am running Jenkins Job that has uses Gradle plugin(V1.26 from https://wiki.jenkins-ci.org/display/JENKINS/Gradle+Plugin) & JaCoCo plugin(V2.2.0 from https://wiki.jenkins-ci.org/display/JENKINS/JaCoCo+Plugin).
Here is how the Configuration in Jenkins Job is for Gradle & JaCoCo:
Gradle Plugin(uses build.gradle):
1. Uses Gradle Version 2.9 installed on Jenkins server
2. Calls gradle tasks "clean testjar -Dtest.single=AllTestsSuite test -DENVIRONMENT=dev2". Note that -DENVIRONMENT is property used for distinguishing our test environments
JaCoCo Plugin:
Configured for recording of JacoCo coverage report

The build.gradle changes for executing jacocoTestReport has been done using instructions at https://docs.gradle.org/2.9/userguide/jacoco_plugin.html and the build.gradle for is as below:

apply plugin: 'jacoco'

ext.buildWS = System.getenv('WORKSPACE')

test {
println 'INFO: JUnit Test Properties'
jvmArgs "-javaagent:${configurations.testJMockitAgent.asPath}","-javaagent:${configurations.testSpringInstrumentAgent.asPath}"
// Override the DB type for this set of tests
systemProperties = System.getProperties();
systemProperties['user.dir'] = workingDir
//systemProperty 'ENVIRONMENT', 'dev2'
testLogging {
// Show that tests are run in the command-line output
events 'started', 'passed'
}
finalizedBy jacocoTestReport
}

jacoco {
toolVersion = "0.7.1.201405082137"
}

jacocoTestReport {
group = "Reporting"
description = "Generate Jacoco coverage reports after running tests."
reports {
html.enabled true
xml.enabled true
csv.enabled false
html.destination "${buildWS}/jacocoHtml"
}
}

But the following is failing in Jenkins with the below mentioned error after the "test" task is executed. In the build workspace, I can see that test.exec is getting generated in the /<builddir>/build/jacoco/ :

--------------Many Lines Deleted-----------------

14:53:15 :jacocoTestReport FAILED
14:53:15
14:53:15 FAILURE: Build failed with an exception.
14:53:15
14:53:15 * What went wrong:
14:53:15 Execution failed for task ':jacocoTestReport'.
14:53:15 > org.jacoco.report.IReportGroupVisitor
14:53:15
14:53:15 * Try:
14:53:15 Run with --info or --debug option to get more log output.
14:53:15
14:53:15 * Exception is:
14:53:15 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':jacocoTestReport'.
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:69)
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)
14:53:15 at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)
14:53:15 at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)
14:53:15 at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
14:53:15 at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:52)
14:53:15 at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
14:53:15 at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
14:53:15 at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:203)
14:53:15 at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:185)
14:53:15 at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:66)
14:53:15 at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:50)
14:53:15 at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:25)
14:53:15 at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:110)
14:53:15 at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
14:53:15 at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
14:53:15 at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
14:53:15 at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
14:53:15 at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
14:53:15 at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
14:53:15 at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher$4.run(DefaultGradleLauncher.java:154)
14:53:15 at org.gradle.internal.Factories$1.create(Factories.java:22)
14:53:15 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
14:53:15 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:52)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:151)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher.access$200(DefaultGradleLauncher.java:32)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:99)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher$1.create(DefaultGradleLauncher.java:93)
14:53:15 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
14:53:15 at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:62)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:93)
14:53:15 at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:82)
14:53:15 at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:94)
14:53:15 at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
14:53:15 at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
14:53:15 at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:43)
14:53:15 at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:28)
14:53:15 at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:77)
14:53:15 at org.gradle.launcher.exec.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:47)
14:53:15 at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:51)
14:53:15 at org.gradle.launcher.exec.DaemonUsageSuggestingBuildActionExecuter.execute(DaemonUsageSuggestingBuildActionExecuter.java:28)
14:53:15 at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:43)
14:53:15 at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:170)
14:53:15 at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:237)
14:53:15 at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:210)
14:53:15 at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:35)
14:53:15 at org.gradle.launcher.cli.JavaRuntimeValidationAction.execute(JavaRuntimeValidationAction.java:24)
14:53:15 at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:206)
14:53:15 at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:169)
14:53:15 at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:33)
14:53:15 at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:22)
14:53:15 at org.gradle.launcher.Main.doAction(Main.java:33)
14:53:15 at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
14:53:15 at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:54)
14:53:15 at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:35)
14:53:15 at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
14:53:15 Caused by: java.lang.NoClassDefFoundError: org.jacoco.report.IReportGroupVisitor
14:53:15 at org.apache.tools.ant.ComponentHelper.checkTaskClass(ComponentHelper.java:376)
14:53:15 at org.apache.tools.ant.ComponentHelper.addTaskDefinition(ComponentHelper.java:341)
14:53:15 at org.apache.tools.ant.Project.addTaskDefinition(Project.java:968)
14:53:15 at org.apache.tools.ant.Project$addTaskDefinition.call(Unknown Source)
14:53:15 at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate.taskdef(AntBuilderDelegate.groovy:34)
14:53:15 at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate$taskdef.call(Unknown Source)
14:53:15 at org.gradle.testing.jacoco.tasks.JacocoReport$generateclosure2.doCall(JacocoReport.groovy:88)
14:53:15 at org.gradle.api.internal.ClosureBackedAction.execute(ClosureBackedAction.java:67)
14:53:15 at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:130)
14:53:15 at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:91)
14:53:15 at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:140)
14:53:15 at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:122)
14:53:15 at org.gradle.api.internal.project.antbuilder.ClassPathToClassLoaderCache.withCachedClassLoader(ClassPathToClassLoaderCache.java:134)
14:53:15 at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.execute(DefaultIsolatedAntBuilder.java:116)
14:53:15 at org.gradle.api.internal.project.IsolatedAntBuilder$execute$0.call(Unknown Source)
14:53:15 at org.gradle.testing.jacoco.tasks.JacocoReport.generate(JacocoReport.groovy:87)
14:53:15 at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:75)
14:53:15 at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:227)
14:53:15 at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:220)
14:53:15 at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:209)
14:53:15 at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:585)
14:53:15 at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:568)
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)
14:53:15 at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)
14:53:15 ... 57 more
14:53:15 Caused by: java.lang.ClassNotFoundException: org.jacoco.report.IReportGroupVisitor
14:53:15 ... 81 more
----------------------------------------------------

Thanks,
Mak
Reply all
Reply to author
Forward
0 new messages