Leo,
What version of JAXB have you installed in your OSGi runtime?
Just the bare jar, or a bundlized version?
You'll need to latter. Try org.apache.servicemix.bundles.jaxb-impl-2.1.6_1.jar,
which is the version we use in distributed OSGi.
Use a maven dependency:
<dependency>
<groupId>org.apache.servicemix.specs</groupId>
<artifactId>org.apache.servicemix.bundles.jaxb-impl</artifactId>
<version>2.1.6_1</version>
</dependency>
or pull it down directly from:
http://mirrors.ibiblio.org/pub/mirrors/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.jaxb-impl/2.1.6_1
Cheers,
Eoghan
-----Original Message-----
From: Leo Bayer [mailto:[email protected]]
Sent: Thu 12/02/2009 21:33
To: [email protected]
Subject: ClassNotFoundException com.sun.xml.bind.v2.ContextFactory in OSGi
I'm trying to load an endpoint using the "simple:server" spring
configuration but I'm getting a ClassNotFoundException when it's trying to
load the JAXBContext.
Because the CXF bundle does not have visibility to com.sun.xml.bind.v2
through an import it fails when trying to class load.
What am I missing?
Thanks
- Leo
Caused by: java.lang.RuntimeException: javax.xml.bind.JAXBException:
Provider com.sun.xml.bind.v2.ContextFactory not found
- with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
at
org.apache.cxf.wsdl.JAXBExtensionHelper.getJAXBContext(JAXBExtensionHelper.java:185)
at
org.apache.cxf.wsdl.JAXBExtensionHelper.addExtensions(JAXBExtensionHelper.java:168)
at
org.apache.cxf.wsdl.JAXBExtensionHelper.addExtensions(JAXBExtensionHelper.java:88)
at
org.apache.cxf.wsdl11.WSDLManagerImpl.registerInitialExtensions(WSDLManagerImpl.java:239)
at
org.apache.cxf.wsdl11.WSDLManagerImpl.registerInitialExtensions(WSDLManagerImpl.java:219)
at
org.apache.cxf.wsdl11.WSDLManagerImpl.<init>(WSDLManagerImpl.java:109)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at
org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:100)
... 17 more
Caused by: javax.xml.bind.JAXBException: Provider
com.sun.xml.bind.v2.ContextFactory not found
- with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:152)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:299)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:372)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:337)
at
org.apache.cxf.wsdl.JAXBExtensionHelper.createJAXBContext(JAXBExtensionHelper.java:196)
at
org.apache.cxf.wsdl.JAXBExtensionHelper.getJAXBContext(JAXBExtensionHelper.java:183)
... 27 more
Caused by: java.lang.ClassNotFoundException:
com.sun.xml.bind.v2.ContextFactory
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:481)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:397)
at
org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:385)
at
org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:117)
... 32 more