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

Reply via email to