I found that commons-logging seems to use the ClassLoader for the Logger as a key into a Hashtable of factories. Unfortunately my environment/usage returns 'null' for the class loader (which is valid per JDK 1.3 documentation, my environment, to imply 'Boot ClassLoader') and the Hashtable and common-logging code puke on this.
I posted a message to the commons mailing list, but I've receive no reply. What I ended up doing was hacking the commons code to check for a null ClassLoader, and replacing it with ClassLoader.getSystemClassLoader(). I am insufficiently versed in this stuff to know if System = Boot, and/or if I have future ClassCast worries to look forward to, but this seem to be working for me for now. That said -- just about anything that makes commons-logging unhappy (like not having a Log4j.properties in the 'right' place) seems to cause a NullPointerException from commons-logging. It seems that commons-logging does a poor job of logging anything if it's complex auto-configuration mechanism fails, a painful flaw. regards Adam > -----Original Message----- > From: Fishman, Richard [mailto:[EMAIL PROTECTED]] > Sent: Friday, July 12, 2002 5:03 PM > To: '[EMAIL PROTECTED]' > Subject: RE: error with Beta 3 > > > I am having a similar problem that seems to involve log4j. > > I put log4j-1.2.4.jar in common/lib as well as > webapps/axis/WEB-INF/lib. > > If I do a 'validate' from the Axis welcome page, on the > Tomcat console I see > a ClassCastException for log4j.FileAppender and a > 'ConsoleAppender is not > assignable to a log4j.Appender variable' error from log4j. > > If I take log4j-1.2.4.jar out of axis/WEB-INF/lib I get no > errors (I guess > it loads the jars in axis/WEB-INF/lib first). > > But - if I take log4j-1.2.4.jar out of the axis path to fix > this problem, I > get NullPointerExceptions while trying to deploy .wsdd files. > > I think this might have something to do with some jar files > being loaded by > the boot class loader and some not? > > -----Original Message----- > From: Venkat Dokiparthi [mailto:[EMAIL PROTECTED]] > Sent: Thursday, July 11, 2002 9:57 PM > To: '[EMAIL PROTECTED]' > Subject: error with Beta 3 > > > Hi, > > When I upgraded to Axis Beta 3, I am getting following error. > The culprit > seems to be commons-loggin.jar that comes with Beta 3. If I > replace that > file with Beta 2 version, then it works fine. Any ideas? > > -Venkat > > java.lang.ExceptionInInitializerError: java.lang.NullPointerException > at > org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:326) > at > org.apache.commons.logging.LogFactory.getLog(LogFactory.java:394) > at > org.apache.axis.configuration.DefaultEngineConfigurationFactor > y.<clinit>(Def > aultEngineConfigurationFactory.java:82) > at org.apache.axis.client.Service.<init>(Service.java:112) > at WebServiceSoapClient.call(WebServiceSoapClient.java:90) > > > > Blue Cross Blue Shield of Florida, Inc., and its subsidiary and > affiliate companies are not responsible for errors or > omissions in this e-mail message. Any personal comments made > in this e-mail do not reflect the views of Blue Cross Blue > Shield of Florida, Inc. > >
