Hi all, I know Tomcat classloading is a hairy subject but I've tried all I could and would appreciate some help!
I'm using Tomcat 6.0.18 with JDK 1.6 My webapp uses the Weblogic supplied Jython Interpreter called WLSTInterpreter. My weblogic.jar is in my WEB-INF/lib directory but for some reason I get the dreaded ClassNotFoundException for exactly that class. Also, I confirmed that the weblogic.jar DOES contain the missing class. Looking at the docs on tomcat's site we see that for webapps the webapp classloader is consulted first: > Therefore, from the perspective of a web application, class or resource > loading looks in the following repositories, in this order: > > * Bootstrap classes of your JVM > * System class loader classses (described above) > * /WEB-INF/classes of your web application > * /WEB-INF/lib/*.jar of your web application > * $CATALINA_HOME/lib > * $CATALINA_HOME/lib/*.jar > Can someone glean something from the stack trace below and suggest what might be going on? Could it be because of some classes in weblogic.jar that this is happening? (Using Weblogic 9.2) I have ensured that weblogic classes do not exist in common/lib. Infact common/lib has no "extra" jars but what came with the installation. The front end is icefaces that calls a spring service that, in turn makes a call to the WLSTInterpreter class and that's where it throws an exception. Is there anyway to debug what classes are loaded by the webapp classloader? Thanks, Pankaj java.lang.ClassNotFoundException: weblogic.management.scripting.utils.WLSTInterpreter org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) com.fedex.ground.scm.service.WLSTServiceImpl.startApplication(WLSTServiceImpl.java:81) com.fedex.ground.scm.TreeBean.processNode(TreeBean.java:112) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:597) org.apache.el.parser.AstValue.invoke(AstValue.java:172) org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276) com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:71) javax.faces.component.UICommand.broadcast(UICommand.java:377) com.icesoft.faces.component.tree.Tree.broadcast(Tree.java:1032) com.icesoft.faces.component.panelseries.UISeries$RowEvent.broadcast(UISeries.java:559) com.icesoft.faces.component.panelseries.UISeries.broadcast(UISeries.java:238) com.icesoft.faces.component.paneltabset.PanelTabSet.broadcast(PanelTabSet.java:297) javax.faces.component.UIData.broadcast(UIData.java:849) com.icesoft.faces.component.panelseries.UISeries.broadcast(UISeries.java:233) com.icesoft.faces.component.paneltabset.PanelTabSet.broadcast(PanelTabSet.java:297) javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:452) javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:764) com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97) com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:132) com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:17) com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.renderCyclePartial(ReceiveSendUpdates.java:64) com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.service(ReceiveSendUpdates.java:40) com.icesoft.faces.webapp.http.core.ViewBoundServer.service(ViewBoundServer.java:65) com.icesoft.faces.webapp.http.core.RequestVerifier.service(RequestVerifier.java:44) com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer$Matcher.serviceOnMatch(PathDispatcherServer.java:50) com.icesoft.faces.webapp.http.common.standard.PathDispatcherServer.service(PathDispatcherServer.java:19) com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:19) com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:63) com.icesoft.faces.webapp.http.servlet.MainSessionBoundServlet.service(MainSessionBoundServlet.java:139) com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53) com.icesoft.faces.webapp.http.servlet.PathDispatcher$Matcher.serviceOnMatch(PathDispatcher.java:52) com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:29) com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:82) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:46) -- View this message in context: http://www.nabble.com/WLSTInterpreter-classloading-tp24063925p24063925.html Sent from the Tomcat - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org