Daniel Mikusa [mailto:dmik...@vmware.com] wrote:
>You would be using a shared class loader if you are placing JAR files used by >multiple deployed web applications into the >$CATALINA_BASE/lib or $CATALINA_HOME/lib directory. Are you placing any JAR >files into those folders? We have placed three JDBC driver jars in $CATALINA_HOME/lib. I presume this is irrelevant to this issue. The class in question org.apache.jasper.runtime.ELContextImpl only appears to be in a jar located in app2/WEB-INF/lib, yet it is being loaded for app1. I have verified that the class is NOT in $CATALINA_HOME/lib. If we remove app2 from tomcat, the ClassCastException disappears from app1. Further, removing the jar containing org.apache.jasper.runtime.ELContextImpl from app2 also resolves the issue. There does seem to be a problem that app2 is sharing classes with app1 from app2/WEB-INF/lib. How can this happen? >Maybe try adding the JVM option "-verbose:class" to "bin/setenv.sh". This >option will cause the JVM to log when a class is loaded and from where it was >loaded. I'll look into that. >Dan Thanks. Dale