Hi Vincent,

You are probably not doing anything wrong and it most probably a log4j
problem. In log4j 1.2 beta2 and earlier versions there was a serious
compatibility problem where code compiled with log4j 1.1.3 would not
run with log4j-1.2x.jar. However, the same code would compile and run
fine if compiled with log4j 1.2x. This problem was corrected with
log4j 1.2beta3. At least that is what I thought until now.

My educated guess (still a guess) is that parts of your application
are compiled using log4j 1.2X. Is it possible that the classes in
WEB-INF/classes were compiled with log4j 1.2betaX?

I would be very interested in the NoClassDefFoundError stack
trace. Regards, Ceki

At 00:11 28.02.2002 +0000, Vincent Massol wrote:
>Following the thread "org/apache/log4j/Logger NoClassDefFoundError with
>version 1.1.3" here are my findings (and more questions) :
>
>1/ I am using Log4j in a WAR application (inside an EAR) in WL 6.1 SP2
>2/ I tested the following structure :
>
>myear.ear
>   |_ mywar.war
>     |_ WEB-INF/lib
>       |_ cactus.jar
>     |_ WEB-INF/classes
>       |_ classes called by cactus.jar
>
>This worked fine (there was no log4j.jar and cactus does not try to log
>if log4j is not in the classpath).
>
>3/ Then I had the following structure (which is the structure I was
>having problem with) :
>
>myear.ear
>   |_ META-INF
>     |_ manifest.mf (contains a CLASS-PATH: log4j.jar)
>   |_ log4j.jar (VERSION 1.1.3 !!)
>   |_ mywar.war
>     |_ WEB-INF/lib
>       |_ cactus.jar
>     |_ WEB-INF/classes
>       |_ classes called by cactus.jar
>
>This failed with the error "org/apache/log4j/Logger"
>NoClassDefFoundError. This means that :
>a/ cactus was able to "see" log4j.jar from its classloader
>b/ the only log4j.jar file it could see was the one under myear.ear and
>thus in version 1.1.3 !
>
>4/ Then I tested with the following structure :
>
>myear.ear
>   |_ mywar.war
>     |_ WEB-INF/lib
>       |_ cactus.jar
>       |_ log4j.jar (VERSION 1.1.3 !!)
>     |_ WEB-INF/classes
>       |_ classes called by cactus.jar
>
>This worked fine ! This proves that Cactus is NOT using the Logger
>class.
>
>Question : Where does the "org/apache/log4j/Logger" NoClassDefFoundError
>comes from ?
>
>Note: It cannot come from a log4j.jar that would be in the system
>classpath because in step 2/ the cactus.jar would have "seen" log4j.jar
>(the webapp CL is a child of the system CL).
>
>What am I doing wrong ? :-)
>
>Thanks
>-Vincent
>
>
>
>--
>To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to