Status: Open (View Workflow)
jenkins from version 1.502
As described here: http://jenkins.361315.n4.nabble.com/Getting-NoSuchClassDefFoundError-for-ehcache-td391329.html, the spring-context-support JAR that is now (from version 1.502 on) packaged into the jenkins.war is loaded instead of the one from crowd/WEB-INF/lib. So it does not find classes from the ehcache JAR packaged only in the crowd/WEB-INF/lib.
(see attached jenkins.log for complete stack trace)
Two possible solutions:
- remove the spring-context-support JAR from jenkins.war/WEB-INF/lib
- switch class loader lookup order to search "plugin/WEB-INF/lib" first (this way it would be possible for plugin developers to override JARs delivered with the jenkins core)
This issue prevents me from using the newest jenkins versions (starting from 1.502).
Has anyone got any Jenkins LTS version beyond 1.480.2 to work? 1.480.2 seems to be the last LTS version that works with the crowd plugin.
I got latest LTS Jenkins to work with the latest crowd pluging, but I have to delete spring-context-support JAR as the possible solutions 1. says.
So is this a problem with core or with the crowd plugin?
I don't understand the nabble link above. It is from 2009, and it seems the problem was FIXED at that time. So why has it suddenly resurfaced? Can we apply the same "fix" again?
Why was that jar file included again? Maybe related to this commit? (which is from 6 months ago):
Anyone know if this is going to be fixed by chance or if we just need to plan on implementing the workarounds in the future?
Still not fixed in Jenkins LTS 1.532.2 and Crowd Plugin 1.2
This essentially means that we cannot even upgrade to LTS. We are on 1.501 currently...
And Crowd2-Plugin has severe perfomance issues (we tried it), so it's not an option either:
You should use jenkins with tomcat and not with the embedded jetty, it has worked for us.
We use the standalone jar with embedded winstone, and it works when we delete the spring-context-support-2.5.6.SEC03.jar from the jenkins.war.
Can't the Crowd plugin just switch to using the plugin first classloader?
Removing core component. Issues like these are what PluginFirstClassloader is designed for, and if not using that, it's no surprise this breaks.
Any news on this one? We still have to remove that spring-context jar file manually, every time we do an upgrade of Jenkins...
I first encountered this problem in an upgrade to 1.497.