From: <jue...@we...> - 2003-03-04 17:32:39
|
Yep, the classloader hierarchy should be the cause. I guess that OC4J = has its own version of Log4J 1.1.x in the common classpath, combined = with sticking to the standard J2SE classloader hierarchy that = prioritizes base libraries - a big no-no for a "friendly" container. The Servlet spec encourages a classloader hierarchy that prioritizes the = web app's classloader. Such a problem cannot occur then if you include = all your libraries in WEB-INF/lib. This is Tomcat 4's default behavior, = and at least configurable in other containers, e.g. Resin. So OC4J should offer a configuration setting for the Servlet spec = classloader hierarchy, but I don't actually know. Consult your = documentation... ;-) Another but less preferable solution would be to = exchange OC4J's common Log4J 1.1 JAR with a newer Log4J 1.2 JAR - it = should be backward compatible. Juergen > -----Original Message----- > From: William G. Thompson, Jr. [mailto:wg...@rc...]=20 > Sent: Tuesday, March 04, 2003 6:22 PM > To: Kopylenko, Dmitry > Cc: 'spring-dev-list' > Subject: Re: [Springframework-developer] Help!!! >=20 >=20 > Looks like your picking up a different version of log4j=20 > somehow. You'll=20 > have to understand how the classloader works in OC4J and check your=20 > classpath. >=20 > Bill >=20 >=20 > Kopylenko, Dmitry wrote: > > Gentlemen, > >=20 > > I'm having trouble deploying simple Spring-enabled web-app=20 > to Oracle's=20 > > OC4J. The problem is with log4j. It works fine in the local copy of=20 > > JBoss. When I try to deploy it on OC4J I get the following: > >=20 > > 500 Internal Server Error > > java.lang.VerifyError: (class: org/apache/log4j/LogManager, method:=20 > > <clinit> > > signature: ()V) Incompatible argument to function > > at org.apache.log4j.Logger.getLogger(Logger.java:85) > > at > >=20 > com.interface21.web.servlet.HttpServletBean.<init>(HttpServlet > Bean.java:49) > > at > >=20 > com.interface21.web.servlet.FrameworkServlet.<init>(FrameworkS > ervlet.java:47 > > ) > > at > >=20 > com.interface21.web.servlet.ControllerServlet.<init>(Controlle > rServlet.java: > > 69) > > at java.lang.Class.newInstance0(Native Method) > > at java.lang.Class.newInstance(Class.java:232) > > at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for > >=20 > J2EE].server.http.HttpApplication.loadServlet(HttpApplication. > java:1645) > > at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for > >=20 > J2EE].server.http.HttpApplication.findServlet(HttpApplication. > java:4006) > > at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for > >=20 > J2EE].server.http.HttpApplication.getDefaultDispatcher(HttpApp > lication.java: > > 2559) > > at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for > >=20 > J2EE].server.http.HttpApplication.getRequestDispatcher(HttpApp > lication.java: > > 2308) > > at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for > >=20 > J2EE].server.http.HttpRequestHandler.processRequest(HttpReques > tHandler.java: > > 585) > > at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for > >=20 > J2EE].server.http.HttpRequestHandler.run(HttpRequestHandler.java:243) > > at com.evermind[Oracle9iAS (9.0.2.0.0) Containers for > > J2EE].util.ThreadPoolThread.run(ThreadPoolThread.java:64) > >=20 > ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > ++++++++++++++ > > ++++++++++++++++++++++++++++++++++++++++++++++ > >=20 > > I am stuck. Any ideas would be appreciated. > >=20 > > Thanks. > >=20 > > Dmitriy. > >=20 >=20 >=20 >=20 >=20 > ------------------------------------------------------- > This SF.net email is sponsored by: Etnus, makers of=20 > TotalView, The debugger=20 > for complex code. Debugging C/C++ programs can leave you=20 > feeling lost and=20 > disoriented. TotalView can help you find your way. Available=20 > on major UNIX=20 > and Linux platforms. Try it free. www.etnus.com=20 > _______________________________________________ > Springframework-developer mailing list=20 > Spr...@li... > https://lists.sourceforge.net/lists/listinfo/springframework-developer >=20 |