Dave,

I spent some time reading the source code of commons-discovery version 0.2 which I believe matches the version you are testing with. Reading the javadocs for o.a.c.discovery.tools.DiscoverClass and your previous messages, I added
the file "org.apache.commons.logging.LogFactory" under META-INF/services.

You can find the modified jar file including the fix as an attachment to this message. Can you please give it a try?

Thanks in advance,

At 07:01 PM 3/21/2006, Dave Wallace wrote:
I had not modifed jcl104-over-slf4j.jar other than to add
/META-INF/services by unpacking the jar (from the 1.0 release), adding
the file and repacking.
The original, unmodified 1.0 release of jcl104-over-slf4j.jar and the
one you sent me both fail like so:
java.lang.ExceptionInInitializerError
    at org.apache.axis.message.NodeImpl.<clinit>(NodeImpl.java:48)
   .... [Elided] ....
Caused by: org.apache.commons.discovery.DiscoveryException: No
implementation defined for org.apache.commons.logging.LogFactory
    at
org.apache.commons.discovery.tools.ClassUtils.verifyAncestory(ClassUtils.java:176)
    at
org.apache.commons.discovery.tools.SPInterface.verifyAncestory(SPInterface.java:201)
    at
org.apache.commons.discovery.tools.SPInterface.newInstance(SPInterface.java:195)
    at
org.apache.commons.discovery.tools.DiscoverClass.newInstance(DiscoverClass.java:579)
    at
org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:418)
    at
org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:378)
    at
org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45)
    at java.security.AccessController.doPrivileged(Native Method)
    at
org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41)
    at
org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33)
    ... 37 more

I believe that the vm is able to load
org.apache.axis.components.logger.LogFactory because javac tends to fold
public static final variables into generated code, therefore there are
no references to FACTORY_PROPERTIES and FACTORY_DEFAULT in the axis
LogFactory, just the values are stored. So I don't think they can be
overridden without recompiling axis.jar.

--
Ceki Gülcü
http://ceki.blogspot.com/

Attachment: jcl104-over-slf4j.jar
Description: Binary data

_______________________________________________
dev mailing list
dev@slf4j.org
http://slf4j.org/mailman/listinfo/dev

Reply via email to