Summary: | Using a function via EL produces ClassNotFoundException | ||
---|---|---|---|
Product: | Tomcat 6 | Reporter: | Denny Strietzbaum <denny.strietzbaum> |
Component: | Jasper | Assignee: | Tomcat Developers Mailing List <dev> |
Status: | RESOLVED DUPLICATE | ||
Severity: | normal | CC: | david.green, karl.toffel |
Priority: | P3 | ||
Version: | unspecified | ||
Target Milestone: | default | ||
Hardware: | PC | ||
OS: | Windows XP |
Description
Denny Strietzbaum
2007-07-12 01:23:35 UTC
I have obviously the same problem on Tomcat 6.0.14, Sun JSF RI 1.2_05. It works when the state saving method is set to 'server', but with 'client' method it fails after deserialization exactly like the original comment says. The tomcat classloader used for EL has no access to the webapp class, where is the function implemented. I am experiencing the same problem. The original description is accurate in that it appears to be a classloader problem. This problem only appears in the restore view phase when deserialization occurs, since this is the only time when the Function.m member can be null. The web application class loader is the current thread context class loader, so the suggested change works well. BTW, this bug makes user-defined EL functions unusable unless the web app can bundle its own el implementation. I haven't been able to get that to work on Tomcat 6.0.14. I suggest that the priority of this fix gets raised. I've managed to workaround this issue by including the jasper-el.jar from the Tomcat distribution in the war file. Isn't this a duplicate of <http://issues.apache.org/bugzilla/show_bug.cgi?id=41797> This is indeed a duplicate of the mentioned bug http://issues.apache.org/bugzilla/show_bug.cgi?id=41797 Looks like a patch has been added to tomcat, but it is not part of the latest 6.0.14 release. The workaround of adding jasper-el.jar directly into the WAR of your application appears to work. You can get this from your the tomcat lib folder. |