Can I use the JBehave Jenkins plugin?

Article ID:217911038
1 minute readKnowledge base

Issue

I am not able to use the JBehave Jenkins plugin. Here the trace I found in the logs:

INFO: Scheduling Jenkins reboot
Mar 21, 2016 1:11:08 PM hudson.model.UpdateCenter doSafeRestart
(...)
Mar 21, 2016 1:11:46 PM hudson.ExtensionFinder$Sezpoz scout
WARNING: Failed to scout org.jbehave.hudson.JBehavePluginType$DescriptorImpl
java.lang.InstantiationException: java.lang.NoClassDefFoundError: com/thalesgroup/dtkit/metrics/hudson/api/descriptor/TestTypeDescriptor
	at net.java.sezpoz.IndexItem.element(IndexItem.java:146)
	at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:629)
	at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:618)
	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:388)
	at hudson.ExtensionList.load(ExtensionList.java:349)
	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287)
	at hudson.ExtensionList.iterator(ExtensionList.java:156)
	at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:381)
	at hudson.ExtensionList.load(ExtensionList.java:349)
	at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287)
	at hudson.ExtensionList.size(ExtensionList.java:175)
	at java.util.AbstractCollection.toArray(AbstractCollection.java:136)
	at java.util.ArrayList.addAll(ArrayList.java:577)
	at com.cloudbees.jenkins.plugins.license.EntitlementChecker.all(EntitlementChecker.java:35)
	at com.cloudbees.jenkins.plugins.license.PluginImpl.postInitialize(PluginImpl.java:33)
	at hudson.PluginManager$2$1$2.run(PluginManager.java:390)
	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
	at jenkins.model.Jenkins$7.runTask(Jenkins.java:905)
	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: com/thalesgroup/dtkit/metrics/hudson/api/descriptor/TestTypeDescriptor
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
	at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1139)
	at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:801)
	at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1310)
	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1366)
	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1326)
	at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at jenkins.ClassLoaderReflectionToolkit.invoke(ClassLoaderReflectionToolkit.java:44)
	at jenkins.ClassLoaderReflectionToolkit._findClass(ClassLoaderReflectionToolkit.java:86)
	at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:1123)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
	... 23 more
Caused by: java.lang.ClassNotFoundException: com.thalesgroup.dtkit.metrics.hudson.api.descriptor.TestTypeDescriptor
	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1376)
	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1326)
	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1079)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	... 39 more

Resolution

Upgrading JBehave Jenkins Plugin to version 4.1 or newer should resolve the issue.

This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.