Hi Nick,

Thanks for the detailed description.

At 10:56 AM 9/13/2005, Nick Faiz wrote:
Hi Ceki,

This is a hard one to replicate - the environment is complex. My current environment has four IDEA project modules, each with log4j dependencies. One of these modules lists ApacheDS as a dependency. The jar for ApacheDS is holding an unpacked slf4j and log4j distro, (see attached screenshot).

What's in the slf4j distro? Is nlog4j.jar included?

When I run a main method in module1 (which doesn't use ApacheDS) all log statements in modules 1, 2 and 3 work quite well. When it finally reaches a logging statement in module4, which *does* use ApacheDS, I see a NoSuchMethodError:

java.lang.NoSuchMethodError: org.apache.log4j.Logger.info(Ljava/lang/String;)V

Is ApacheDS compiled against nlog4j? If so, could you try replacing log4j with nlog4j and give it a whirl?

The stacktrace is simply related to the chain of execution in the current thread (here a TCP Connection, because Im making a HTTP Request). It doesn't look helpful in this regard but I can send it to you if you would like to see it. It simply seems that the JVM is trying to execute a method which doesn't exist.

Roger that.

If I run IDEA with module4 alone, with the log4j dependency and an ApacheDS dependency (which includes nlog4j, the same screenshot applies), logging works.

My guess (needs to be verified) is that when module 4 and ApacheDS are used, classes in nlog4j.jar are used, however with modules 1, 2 and 3, classes in log4j.jar are seen first (since they are "local" or in the closest scope). I'd have to verify this hypothesis. Will report back later.

Nick

--
Ceki Gülcü

  The complete log4j manual: http://www.qos.ch/log4j/


Reply via email to