File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Other Open Source Projects and the fly likes SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Products » Other Open Source Projects
Bookmark "SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory" Watch "SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory" New topic
Author

SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory

raghu tammina
Ranch Hand

Joined: Jul 11, 2012
Posts: 60
Hi,

i'm getting this exception in stack trace.Googled it but not helped me.Suggest me how to solve it.


ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/MozartCCNewUI].[action]] Servlet.service() for servlet action threw exception: org.apache.commons.discovery.DiscoveryException: Class org.apache.commons.logging.impl.SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory
at org.apache.commons.discovery.tools.ClassUtils.verifyAncestory(ClassUtils.java:180) [:0.2]
at org.apache.commons.discovery.tools.SPInterface.verifyAncestory(SPInterface.java:201) [:0.2]
at org.apache.commons.discovery.tools.SPInterface.newInstance(SPInterface.java:195) [:0.2]
at org.apache.commons.discovery.tools.DiscoverClass.newInstance(DiscoverClass.java:579) [:0.2]
at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:418) [:0.2]
at org.apache.commons.discovery.tools.DiscoverSingleton.find(DiscoverSingleton.java:378) [:0.2]
at org.apache.axis.components.logger.LogFactory$1.run(LogFactory.java:45) [:]
at java.security.AccessController.doPrivileged(Native Method) [:1.6.0_45]
at org.apache.axis.components.logger.LogFactory.getLogFactory(LogFactory.java:41) [:]
at org.apache.axis.components.logger.LogFactory.<clinit>(LogFactory.java:33) [:]
at org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:43) [:]
at org.apache.axis.client.Service.getAxisClient(Service.java:104) [:]
at org.apache.axis.client.Service.<init>(Service.java:113) [:]
at com.netsuite.webservices.platform_2013_2.NetSuiteServiceLocator.<init>(NetSuiteServiceLocator.java:12) [:]
at com.zyom.netsuite.NetsuiteIntegrationManager$DataCenterAwareNetSuiteServiceLocator.<init>(NetsuiteIntegrationManager.java:86) [:]
at com.zyom.netsuite.NetsuiteIntegrationManager.<init>(NetsuiteIntegrationManager.java:167) [:]
at com.zyom.netsuite.NetsuiteIntegrationManager.getNetSuiteIntegrationManager(NetsuiteIntegrationManager.java:67) [:]
at com.zyom.netsuite.controller.NetsuiteIntegrationManagerContoller.execute(NetsuiteIntegrationManagerContoller.java:33) [:]
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419) [:1.2.7]
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224) [:1.2.7]
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) [:1.2.7]
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) [:1.2.7]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:734) [:1.0.0.Final]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at com.zyom.security.LoginMonitorFilter.doFilter(LoginMonitorFilter.java:67) [:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.1.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.1.0.Final]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.1.0.Final]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:662) [:1.6.0_45]
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18987
    
    8

My guess is that the two classes are being loaded by different classloaders, and that therefore neither of them can implement or subclass the other. That would mean that the two classes are in different jar files, and that those two jar files are loaded in different contexts. For example one might be loaded by the part of Tomcat which is available to all web applications, and the other might be loaded by your web application. So I would advise putting the two jars in the same place.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: SLF4JLogFactory does not implement org.apache.commons.logging.LogFactory