Details
-
Type:
Bug
-
Status: Resolved (View Workflow)
-
Priority:
Minor
-
Resolution: Fixed
-
Component/s: cobertura-plugin
-
Labels:None
-
Environment:Jenkins 2.59
-
Similar Issues:
Description
After upgrading Jenkins from 2.58 to 2.59 I got the following trace in the log (the plugin still seems to be working though):
Failed to scout hudson.plugins.cobertura.MavenCoberturaPublisher java.lang.ClassNotFoundException: hudson.maven.MavenReporter at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) Caused: java.lang.NoClassDefFoundError: hudson/maven/MavenReporter at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1140) at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:884) at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1311) at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1364) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327) at sun.reflect.GeneratedMethodAccessor3.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:81) at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:1864) 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) Caused: java.lang.InstantiationException at net.java.sezpoz.IndexItem.element(IndexItem.java:146) at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:656) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:471) at hudson.ExtensionList.load(ExtensionList.java:365) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:303) at hudson.ExtensionList.getComponents(ExtensionList.java:168) at jenkins.model.Jenkins$8.onInitMilestoneAttained(Jenkins.java:1119) at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:82) at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:104) at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:176) 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) Failed to load hudson.plugins.cobertura.MavenCoberturaPublisher java.lang.ClassNotFoundException: hudson.maven.MavenReporter at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1374) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327) at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1080) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) Caused: java.lang.NoClassDefFoundError: hudson/maven/MavenReporter at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:763) at jenkins.util.AntClassLoader.defineClassFromData(AntClassLoader.java:1140) at hudson.ClassicPluginStrategy$AntClassLoader2.defineClassFromData(ClassicPluginStrategy.java:884) at jenkins.util.AntClassLoader.getClassFromStream(AntClassLoader.java:1311) at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1364) at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1327) at sun.reflect.GeneratedMethodAccessor3.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:81) at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:1864) 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) Caused: java.lang.InstantiationException at net.java.sezpoz.IndexItem.element(IndexItem.java:146) at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:620) at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:609) at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:257) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at java.lang.Class.newInstance(Class.java:442) at net.java.sezpoz.IndexItem.instance(IndexItem.java:181) at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:634) at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:609) at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:477) at hudson.ExtensionList.load(ExtensionList.java:365) at hudson.ExtensionList.ensureLoaded(ExtensionList.java:303) at hudson.ExtensionList.getComponents(ExtensionList.java:168) at jenkins.model.Jenkins$8.onInitMilestoneAttained(Jenkins.java:1119) at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:82) at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:104) at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:176) 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)
(The failed to load trace repeats a few more times)
Attachments
Issue Links
- is duplicated by
-
JENKINS-44415 ClassNotFoundException: hudson.maven.MavenReporter -> failed to scout MavenCoberturaPublisher
-
- Closed
-
- is related to
-
JENKINS-44415 ClassNotFoundException: hudson.maven.MavenReporter -> failed to scout MavenCoberturaPublisher
-
- Closed
-
https://github.com/jenkinsci/cobertura-plugin/blob/1cf41b4edc3cf62fcc3d2295fdd53c9574ec4fbf/src/main/java/hudson/plugins/cobertura/MavenCoberturaPublisher.java#L240 needs to
@Extension(optional = true)
and then the entire plugin should declare an optional dependency on the Maven Plugin, so Jenkins dependency management can do its job (AFAICT). This seems to be missing, probably pulled in transitively (optional dependency on dashboard-view, which depends on maven-plugin).
https://github.com/jenkinsci/cobertura-plugin/blob/master/pom.xml