On Fri, May 1, 2009 at 2:30 AM, Ian Boston <i...@tfd.co.uk> wrote: > Have you tried setting the context classloader to the webapp classloader > around that method call ?
I don't see a method call to fix, unfortunately. This happens when jetty tries to compile a jsp, there is no shindig code in the stack until too late. I think this is the flow. First: - jetty starts shindig with webapp class loader - shindig loads ExpressionFactory and ExpressionFactoryImpl with web app class loader Later: - jetty starts JSP compiler with context class loader (system class loader, maybe?) ***bug*** load ExpressionFactory with context class loader - switch to web app class loader - JSP compiler calls ExpressionFactory.newInstance - newInstance finds ExpressionFactoryImpl from web app class loader - then there's a cast to the wrong version of ExpressionFactory.class, and we die. If I'm right, I think we've found a jetty bug. I might be wrong. I haven't found the right version of the jetty code to step through to see what's going on.