[jboss-user] [Installation, Configuration & DEPLOYMENT] - WAR file produces commons-logging LogConfigurationException

pdesj do-not-reply at jboss.com
Tue Apr 8 18:06:26 EDT 2008


I am trying to deploy a web application on JBoss 4.2.1.  This is part of the Eclipse project (the infocenter user assistance system) and I have consulted it's developers.  It's not a pressing issue for them since the WAR files work under other application servers and earlier versions of JBoss.  I have to support JBoss 4.2.1 though. 

The web application works perfectly under JBoss 4.0.1.sp1.  When I run it under 4.2.1 I see the errors pasted at the bottom when I try to open it in a browser.

My web searching has so far revealed that JBoss 4.2 introduced updated commons-logging and log4j versions.  The WAR file contains org.apache.commons.logging_1.0.4.v200706111724.jar (version 1.0.4).  I have not configured JBoss to prefer the classes included in the WAR file.

Is this something that may be resolved by configuring JBoss to load the commons-logging classes from inside my WAR file and not it's own version?  Has anyone else confronted this?  Any pointer to a likely cause will be much appreciated.

Here are things I've tried so far.  None have worked.

* Removing the commons-logging JAR file from my WAR file.

* Adding the log4j.jar file (version 1.2.8) from JBoss 4.0.1.sp1 
  to my WAR file.

* A colleague suggested configuring the application to use Java logging 
  instead of log4j.  I have not had success doing this yet so I'm not 
  sure whether it will solve the problem.

The details of my system are:
JBoss version - 4.2.1.GA (no modifications from downloaded zip)
OS - Windows XP
Java version - jdk1.5.0_14

My WEB-INF/jboss-web.xml file contains this:

    <jboss-web>
      <class-loading>
        <loader-repository>com.example:archive=nexus-5-0-admin.war</loader-repository>
      </class-loading>
    </jboss-web>

Thanks.

Peter Desjardins

********* ERRORS *********

2008-04-08 12:50:53,264 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3 at 11d5b39, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader at 342b99{ url=null ,addedOrder=0}
2008-04-08 12:50:53,280 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/nexus-5-0-admin].[equinoxbridgeservlet]] Servlet.service() for servlet equinoxbridgeservlet threw exception
org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@d54d3f for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category) (Caused by org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@d54d3f for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category))
	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
	at org.apache.jasper.servlet.JspServlet.(JspServlet.java:58)
	at org.eclipse.equinox.jsp.jasper.JspServlet.(JspServlet.java:60)
	at org.eclipse.equinox.jsp.jasper.registry.JSPFactory.create(JSPFactory.java:54)
	at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:262)
	at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
	at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.initializeDelegate(ServletManager.java:194)
	at org.eclipse.equinox.http.registry.internal.ServletManager$ServletWrapper.service(ServletManager.java:179)
	at org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:75)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:115)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
	at java.lang.Thread.run(Thread.java:595)
Caused by: org.apache.commons.logging.LogConfigurationException: No suitable Log constructor [Ljava.lang.Class;@d54d3f for org.apache.commons.logging.impl.Log4JLogger (Caused by java.lang.NoClassDefFoundError: org/apache/log4j/Category)
	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:413)
	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
	... 34 more
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Category
	at java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
	at java.lang.Class.getConstructor0(Class.java:2671)
	at java.lang.Class.getConstructor(Class.java:1629)
	at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:410)
	... 35 more


View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4142526#4142526

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4142526



More information about the jboss-user mailing list