I'm trying to upgrade Jenkins and the PMD plugin, but I keep getting an
exception [1] on certain Maven jobs which use PMD. Is this a known problem?
It works fine if I downgrade Jenkins to 1.455. Versions 1.456, 1.457,
1.460, 1.465 and 1.473 all fail with this exception.
PMD plugin version 3.29, analysis-core version 1.42. No other hpi plugins.
Thanks for any help with this,
—Kjetil
[1]
[INFO] Trace
org.apache.commons.logging.LogConfigurationException:
java.lang.IllegalAccessError: tried to access class
org.apache.commons.logging.impl.LogFactoryImpl$3 from class
org.apache.commons.logging.impl.LogFactoryImpl (Caused by
java.lang.IllegalAccessError: tried to access class
org.apache.commons.logging.impl.LogFactoryImpl$3 from class
org.apache.commons.logging.impl.LogFactoryImpl)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:637)
at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:704)
at org.apache.commons.digester.Digester.<init>(Digester.java:304)
at hudson.plugins.pmd.parser.PmdParser.parse(PmdParser.java:51)
at
hudson.plugins.analysis.core.AbstractAnnotationParser.parse(AbstractAnnotationParser.java:52)
at
hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:358)
at
hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:317)
at
hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:266)
at
hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:31)
at hudson.FilePath.act(FilePath.java:832)
at hudson.FilePath.act(FilePath.java:814)
at hudson.plugins.pmd.PmdReporter.perform(PmdReporter.java:112)
at
hudson.plugins.analysis.core.HealthAwareReporter.postExecute(HealthAwareReporter.java:304)
at hudson.maven.Maven2Builder.postExecute(Maven2Builder.java:155)
at
hudson.maven.MavenBuilder$Adapter.postExecute(MavenBuilder.java:310)
at
hudson.maven.agent.PluginManagerInterceptor$1MojoIntercepterImpl.callPost(PluginManagerInterceptor.java:170)
at
hudson.maven.agent.PluginManagerInterceptor.executeMojo(PluginManagerInterceptor.java:183)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at
org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:65)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at hudson.maven.agent.Main.launch(Main.java:185)
at hudson.maven.MavenBuilder.call(MavenBuilder.java:151)
at hudson.maven.Maven2Builder.call(Maven2Builder.java:77)
at hudson.maven.Maven2Builder.call(Maven2Builder.java:53)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:287)
at
hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.IllegalAccessError: tried to access class
org.apache.commons.logging.impl.LogFactoryImpl$3 from class
org.apache.commons.logging.impl.LogFactoryImpl
at
org.apache.commons.logging.impl.LogFactoryImpl.getParentClassLoader(LogFactoryImpl.java:700)
at
org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1187)
at
org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914)
at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604)
... 46 more