You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by jackdawson <ab...@gmail.com> on 2008/09/27 00:17:30 UTC

java.lang.ExceptionInInitializerError+Invalid class loader hierarchy

Hello all,

I need your help in fixing this issue. 

Firstly, let me narrate what exactly I did:
Step 1: I installed Eclipse STP and CXF 2.0.8 plugins.
Step 2: Created a client using the WSDL which I already had. For this I
added all the JARs from C:\apache-cxf-2.0.8\lib to the buildpath of my
project.
Step 3: I removed few/most of the JARs from the buildpath which I thought
weren't needed. And, now I have only these jar files on the buildpath:
       i) cxf-2.0.8
      ii) geronimo-activation_1.1_spec-1.0.2
     iii) geronimo-annotation_1.0_spec-1.1.1
     iv) geronimo-servlet_2.5_spec-1.2
      v) geronimo-stax-api_1.0_spec-1.0.1
     vi) geronimo-ws-metadata_2.0_spec-1.1.2
    vii) jaxb-api-2.0
   viii) jaxb-impl-2.0.5
    ix) jaxws-api-2.0
     x) saaj-api-1.3
    xi) saaj-impl-1.3
   xii) wsdl4j-1.6.2
  xiii) wstx-asl-3.2.4
  xiv) xml-resolver-1.2
   xv) XmlSchema-1.4.2
Step 4: Tested the client which is a simple java app and it worked fine.
Step 5: Made this project a dependent of another web application and tried
to call a method in this client which would call the service.
Step 6: Battle lost. It errored. It throws an excpetion. But I'm still
fighting. 

It says I have duplicate
org.apache.commons.logging.LogConfigurationException
I don't have commons-logging-x.x.x.jar in my client project.

I'm sure I'm missing some basic thing here but can't think of it right now.
Can anyone let me know what did I do wrong?

2008-09-26 16:12:44,961 ERROR org.apache.jsp.html.errorpage_jsp - User was
referred to this page by 'http://localhost:8080/html/login.jsp'
null
java.lang.ExceptionInInitializerError
	at
org.springframework.core.io.DefaultResourceLoader.<init>(DefaultResourceLoader.java:52)
	at
org.springframework.context.support.AbstractApplicationContext.<init>(AbstractApplicationContext.java:184)
	at
org.springframework.context.support.AbstractRefreshableApplicationContext.<init>(AbstractRefreshableApplicationContext.java:80)
	at
org.springframework.context.support.AbstractXmlApplicationContext.<init>(AbstractXmlApplicationContext.java:58)
	at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:119)
	at
org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContext.java:85)
	at
org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringBusFactory.java:103)
	at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:94)
	at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:87)
	at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:65)
	at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:54)
	at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:70)
	at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:107)
	at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:98)
	at
org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:64)
	at javax.xml.ws.Service.<init>(Service.java:36)

	at
org.apache.jsp.html.logonrequest_jsp._jspService(logonrequest_jsp.java:105)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
	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.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
	at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
	at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	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:
org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException: Invalid class loader
hierarchy.  You have more than one version of
'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by
org.apache.commons.logging.LogConfigurationException: Invalid class loader
hierarchy.  You have more than one version of
'org.apache.commons.logging.Log' visible, which is not allowed.) (Caused by
org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException: Invalid class loader
hierarchy.  You have more than one version of
'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by
org.apache.commons.logging.LogConfigurationException: Invalid class loader
hierarchy.  You have more than one version of
'org.apache.commons.logging.Log' visible, which is not allowed.))
	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.springframework.util.ClassUtils.<clinit>(ClassUtils.java:72)
	... 37 more
Caused by: org.apache.commons.logging.LogConfigurationException:
org.apache.commons.logging.LogConfigurationException: Invalid class loader
hierarchy.  You have more than one version of
'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by
org.apache.commons.logging.LogConfigurationException: Invalid class loader
hierarchy.  You have more than one version of
'org.apache.commons.logging.Log' visible, which is not allowed.)
	at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:397)
	at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
	... 41 more
Caused by: org.apache.commons.logging.LogConfigurationException: Invalid
class loader hierarchy.  You have more than one version of
'org.apache.commons.logging.Log' visible, which is not allowed.
	at
org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:385)
	... 42 more

Thanks.
-- 
View this message in context: http://www.nabble.com/java.lang.ExceptionInInitializerError%2BInvalid-class-loader-hierarchy-tp19697221p19697221.html
Sent from the cxf-user mailing list archive at Nabble.com.


Re: java.lang.ExceptionInInitializerError+Invalid class loader hierarchy

Posted by Daniel Kulp <dk...@apache.org>.
Hmm...... 

No idea.   We don't really use commons-logging (although some of the stuff we 
use may).    This might be something to ask on the spring list.  Either that, 
or in your service, try calling something like:

Thread.getContextClassLoader().getResources("org/apache/commons/logging/Log.class")
and see how many  URL's it finds and where they are.   That may help you 
figure out where it's finding all it's versions of commons logging.

Dan



On Friday 26 September 2008 6:17:30 pm jackdawson wrote:
> Hello all,
>
> I need your help in fixing this issue.
>
> Firstly, let me narrate what exactly I did:
> Step 1: I installed Eclipse STP and CXF 2.0.8 plugins.
> Step 2: Created a client using the WSDL which I already had. For this I
> added all the JARs from C:\apache-cxf-2.0.8\lib to the buildpath of my
> project.
> Step 3: I removed few/most of the JARs from the buildpath which I thought
> weren't needed. And, now I have only these jar files on the buildpath:
>        i) cxf-2.0.8
>       ii) geronimo-activation_1.1_spec-1.0.2
>      iii) geronimo-annotation_1.0_spec-1.1.1
>      iv) geronimo-servlet_2.5_spec-1.2
>       v) geronimo-stax-api_1.0_spec-1.0.1
>      vi) geronimo-ws-metadata_2.0_spec-1.1.2
>     vii) jaxb-api-2.0
>    viii) jaxb-impl-2.0.5
>     ix) jaxws-api-2.0
>      x) saaj-api-1.3
>     xi) saaj-impl-1.3
>    xii) wsdl4j-1.6.2
>   xiii) wstx-asl-3.2.4
>   xiv) xml-resolver-1.2
>    xv) XmlSchema-1.4.2
> Step 4: Tested the client which is a simple java app and it worked fine.
> Step 5: Made this project a dependent of another web application and tried
> to call a method in this client which would call the service.
> Step 6: Battle lost. It errored. It throws an excpetion. But I'm still
> fighting.
>
> It says I have duplicate
> org.apache.commons.logging.LogConfigurationException
> I don't have commons-logging-x.x.x.jar in my client project.
>
> I'm sure I'm missing some basic thing here but can't think of it right now.
> Can anyone let me know what did I do wrong?
>
> 2008-09-26 16:12:44,961 ERROR org.apache.jsp.html.errorpage_jsp - User was
> referred to this page by 'http://localhost:8080/html/login.jsp'
> null
> java.lang.ExceptionInInitializerError
> 	at
> org.springframework.core.io.DefaultResourceLoader.<init>(DefaultResourceLoa
>der.java:52) at
> org.springframework.context.support.AbstractApplicationContext.<init>(Abstr
>actApplicationContext.java:184) at
> org.springframework.context.support.AbstractRefreshableApplicationContext.<
>init>(AbstractRefreshableApplicationContext.java:80) at
> org.springframework.context.support.AbstractXmlApplicationContext.<init>(Ab
>stractXmlApplicationContext.java:58) at
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(C
>lassPathXmlApplicationContext.java:119) at
> org.apache.cxf.bus.spring.BusApplicationContext.<init>(BusApplicationContex
>t.java:85) at
> org.apache.cxf.bus.spring.SpringBusFactory.createApplicationContext(SpringB
>usFactory.java:103) at
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:
>94) at
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:
>87) at
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:
>65) at
> org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:
>54) at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:70)
> 	at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:107)
> 	at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:98)
> 	at
> org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.ja
>va:64) at javax.xml.ws.Service.<init>(Service.java:36)
>
> 	at
> org.apache.jsp.html.logonrequest_jsp._jspService(logonrequest_jsp.java:105)
> 	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 	at
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
>374) at
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337) at
> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) at
> javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
> 	at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applicatio
>nFilterChain.java:290) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterC
>hain.java:206) at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.j
>ava:233) at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.j
>ava:175) at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:12
>8) at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:10
>2) at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.jav
>a:109) at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> 	at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Htt
>p11Protocol.java:583) 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:
> org.apache.commons.logging.LogConfigurationException:
> org.apache.commons.logging.LogConfigurationException: Invalid class loader
> hierarchy.  You have more than one version of
> 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by
> org.apache.commons.logging.LogConfigurationException: Invalid class loader
> hierarchy.  You have more than one version of
> 'org.apache.commons.logging.Log' visible, which is not allowed.) (Caused by
> org.apache.commons.logging.LogConfigurationException:
> org.apache.commons.logging.LogConfigurationException: Invalid class loader
> hierarchy.  You have more than one version of
> 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by
> org.apache.commons.logging.LogConfigurationException: Invalid class loader
> hierarchy.  You have more than one version of
> 'org.apache.commons.logging.Log' visible, which is not allowed.))
> 	at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.j
>ava:543) at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.j
>ava:235) at
> org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.j
>ava:209) at
> org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351) at
> org.springframework.util.ClassUtils.<clinit>(ClassUtils.java:72) ... 37
> more
> Caused by: org.apache.commons.logging.LogConfigurationException:
> org.apache.commons.logging.LogConfigurationException: Invalid class loader
> hierarchy.  You have more than one version of
> 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by
> org.apache.commons.logging.LogConfigurationException: Invalid class loader
> hierarchy.  You have more than one version of
> 'org.apache.commons.logging.Log' visible, which is not allowed.)
> 	at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactory
>Impl.java:397) at
> org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.j
>ava:529) ... 41 more
> Caused by: org.apache.commons.logging.LogConfigurationException: Invalid
> class loader hierarchy.  You have more than one version of
> 'org.apache.commons.logging.Log' visible, which is not allowed.
> 	at
> org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactory
>Impl.java:385) ... 42 more
>
> Thanks.



-- 
Daniel Kulp
dkulp@apache.org
http://www.dankulp.com/blog