Jon, I have found commons-logging.jar in two directories: <application>/WEB-INF/lib/commons-logging.jar server/lib/commons-logging.jar
struts.jar is also in <application>/WEB-INF/lib Any ideas? Zsolt On Thu, 2003-08-07 at 12:49, Jon Wingfield wrote: > Looks like Struts has a dependency on Commons Logging which is using > Log4j under the hood. The commons logging jar is being loaded from a > "higher" level classloader (common/lib or server/lib) and can't access > classes only provided by a "lower" classloader (your webapp). > > Maybe try having the commons logging jar in your WEB-INF/lib. > Where is the struts jar you're using? WEB-INF/lib or higher? > > Jon > > Zsolt Koppany wrote: > > > Hi Shapira, > > > > that is what I get when log4.jar is in my .../WEB-INF/lib. > > > > struts.jar is also in my .../WEB-INF/lib. Can that cause the problem? > > How can I fix that? > > > > Zsolt > > > > javax.servlet.ServletException: Error instantiating servlet class > > org.apache.struts.action.ActionServlet > > at > > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:912) > > at > > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:823) > > at > > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3420) > > at > > org.apache.catalina.core.StandardContext.start(StandardContext.java:3608) > > at > > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188) > > at > > org.apache.catalina.core.StandardHost.start(StandardHost.java:738) > > at > > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188) > > at > > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347) > > at > > org.apache.catalina.core.StandardService.start(StandardService.java:497) > > at > > org.apache.catalina.core.StandardServer.start(StandardServer.java:2190) > > at org.apache.catalina.startup.Catalina.start(Catalina.java:512) > > at org.apache.catalina.startup.Catalina.execute(Catalina.java:400) > > at org.apache.catalina.startup.Catalina.process(Catalina.java:180) > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > > at java.lang.reflect.Method.invoke(Unknown Source) > > at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:203) > > ----- Root Cause ----- > > java.lang.NoClassDefFoundError: org/apache/log4j/Layout > > at > > org.apache.commons.logging.impl.Log4jFactory.getInstance(Log4jFactory.java:140) > > at > > org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:257) > > at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:390) > > at > > org.apache.struts.action.ActionServlet.<clinit>(ActionServlet.java:375) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > > Method) > > at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown > > Source) > > at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown > > Source) > > at java.lang.reflect.Constructor.newInstance(Unknown Source) > > at java.lang.Class.newInstance0(Unknown Source) > > at java.lang.Class.newInstance(Unknown Source) > > at > > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:903) > > at > > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:823) > > at > > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3420) > > at > > org.apache.catalina.core.StandardContext.start(StandardContext.java:3608) > > at > > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188) > > at > > org.apache.catalina.core.StandardHost.start(StandardHost.java:738) > > at > > org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188) > > at > > org.apache.catalina.core.StandardEngine.start(StandardEngine.java:347) > > at > > org.apache.catalina.core.StandardService.start(StandardService.java:497) > > at > > org.apache.catalina.core.StandardServer.start(StandardServer.java:2190) > > at org.apache.catalina.startup.Catalina.start(Catalina.java:512) > > at org.apache.catalina.startup.Catalina.execute(Catalina.java:400) > > > > > > On Wed, 2003-08-06 at 22:01, Shapira, Yoav wrote: > > > >>Howdy, > >> > >> > >>>I have tried so many things to use log4j from tomcat and struts and > >>>finaly I found the solution that I have to copy log4.jar into > >> > >>common/lib > >> > >>>server/lib and <application>/WEB-INF/lib (to be able to get jsp files > >>>compiled). I find it a bit complicated that I have to copy the same jar > >>>file into three different directories. > >>> > >>>Is there a better way? > >> > >>Simply put log4j.jar in WEB-INF/lib, and your log4j configuration file > >>in WEB-INF/classes. That's it. Don't have copies of log4j in > >>commons/lib or server/lib, nor a log4j configuration file there. > >> > >>Yoav Shapira > >> > >> > >> > >>This e-mail, including any attachments, is a confidential business communication, > >>and may contain information that is confidential, proprietary and/or privileged. > >>This e-mail is intended only for the individual(s) to whom it is addressed, and > >>may not be saved, copied, printed, disclosed or used by anyone else. If you are > >>not the(an) intended recipient, please immediately delete this e-mail from your > >>computer system and notify the sender. Thank you. > >> > >> > >>--------------------------------------------------------------------- > >>To unsubscribe, e-mail: [EMAIL PROTECTED] > >>For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]