You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Jacob Kjome <ho...@visi.com> on 2002/03/29 21:31:57 UTC

classloading issues with log4j in Tomcat...

I am having some problems with classloading issues in Tomcat-4.0.4-b2
(also in 3.3.1, but I'm more interested in Tomcat-4.xx).

I use an open source presentation framework called Barracuda
(http://barracuda.enhydra.org/).  Barracuda classes that serve as
wrappers for log4j-1.2-b4's Logger class.

The issue I am having is that Tomcat seems to require that the
log4j.jar exist in the WEB-INF/lib directory right alongside the
Barracuda libraries.
I would like to put log4j.jar in Tomcat4/lib where, as I understand
it, all webapps should be able to see the library.  The problem I run
into is that the first context that gets initialized which uses log4j
works fine, but I get an exception in the second one in some code that
uses the Barracuda log4j wrapper class to do some debug output.  That
keeps the webapp running at all.

I was able to pull one weird thing off.  In the first context that gets
initialized which uses log4j, I put log4j.jar in its WEB-INF/lib
directory.  I also put the same log4j.jar in the Tomcat4/lib
directory.  Everything actually worked this time.  I didn't get the
exception above.  However I imagine that if I had one more app that
used log4j, I would have the same issue as above where the first two
would load (the one with its own log4j.jar and the next initialized
context) but the 3rd would throw an exception.

Can anyone tell me what the reason for this might be?  I can provide
small code samples if needed, but I'm wondering if this is a known
issue with the classloaders Tomcat4?

Jake


--
To unsubscribe:   <ma...@jakarta.apache.org>
For additional commands: <ma...@jakarta.apache.org>
Troubles with the list: <ma...@jakarta.apache.org>