[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