java.lang.ClassNotFoundException: org.jacoco.report.IReportGroupVisitor - Gradle-JaCoCo via Jenkins

601 views
Skip to first unread message

Makarand Jadhav

unread,
May 1, 2017, 7:09:46 AM5/1/17
to JaCoCo and EclEmma Users, makaran...@pramerica.ie
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

Marc Hoffmann

unread,
May 3, 2017, 3:37:43 AM5/3/17
to jac...@googlegroups.com

Hi,

looks like for whatever reason Grade cannot load JaCoCo classes (in this case the org.jacoco.report bundle). Maybe you ask at the Gradle project what the reason might be.

Regards,
-marc 

--
You received this message because you are subscribed to the Google Groups "JaCoCo and EclEmma Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jacoco+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jacoco/280c5a55-9f97-427a-8e16-2aef58de52c7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

 

Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages