I just started seeing this in my karaf-3.0.3 container after moving to using a
KAR for provisioning. I am using CXF, Camel and Jackson to string a restful app
together:
2015-07-02 16:28:22,889 | ERROR | FelixStartLevel | BlueprintContainerImpl
| 15 - org.apache.aries.blueprint.core - 1.4.2 | Unable to start
blueprint container for bundle core-product
org.osgi.service.blueprint.container.ComponentDefinitionException: Unable to
instantiate components
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:686)[15:org.apache.aries.blueprint.core:1.4.2]
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:377)[15:org.apache.aries.blueprint.core:1.4.2]
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)[15:org.apache.aries.blueprint.core:1.4.2]
at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:294)[15:org.apache.aries.blueprint.core:1.4.2]
at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:263)[15:org.apache.aries.blueprint.core:1.4.2]
at
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:253)[15:org.apache.aries.blueprint.core:1.4.2]
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)[9:org.apache.aries.util:1.1.0]
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)[9:org.apache.aries.util:1.1.0]
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)[9:org.apache.aries.util:1.1.0]
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)[9:org.apache.aries.util:1.1.0]
at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)[9:org.apache.aries.util:1.1.0]
at
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1103)[org.apache.felix.framework-4.2.1.jar:]
at
org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:695)[org.apache.felix.framework-4.2.1.jar:]
at
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:483)[org.apache.felix.framework-4.2.1.jar:]
at
org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403)[org.apache.felix.framework-4.2.1.jar:]
at
org.apache.felix.framework.Felix.startBundle(Felix.java:2092)[org.apache.felix.framework-4.2.1.jar:]
at
org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291)[org.apache.felix.framework-4.2.1.jar:]
at
org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)[org.apache.felix.framework-4.2.1.jar:]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_45]
Caused by: java.lang.NoClassDefFoundError:
Lorg/springframework/web/context/support/XmlWebApplicationContext;
at java.lang.Class.getDeclaredFields0(Native Method)[:1.8.0_45]
at java.lang.Class.privateGetDeclaredFields(Class.java:2583)[:1.8.0_45]
at java.lang.Class.getDeclaredFields(Class.java:1916)[:1.8.0_45]
at
org.apache.camel.blueprint.handler.CamelNamespaceHandler$CamelInjector.injectFields(CamelNamespaceHandler.java:787)
at
org.apache.camel.blueprint.handler.CamelNamespaceHandler$CamelInjector.afterInit(CamelNamespaceHandler.java:918)
at
org.apache.aries.blueprint.container.BeanRecipe.runBeanProcPostInit(BeanRecipe.java:744)
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:826)
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRecipe.java:787)
at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_45]
at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[15:org.apache.aries.blueprint.core:1.4.2]
at
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[15:org.apache.aries.blueprint.core:1.4.2]
at
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[15:org.apache.aries.blueprint.core:1.4.2]
at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:682)[15:org.apache.aries.blueprint.core:1.4.2]
... 18 more
Caused by: java.lang.ClassNotFoundException:
org.springframework.web.context.support.XmlWebApplicationContext not found by
org.apache.cxf.cxf-rt-transports-http [184]
at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)[org.apache.felix.framework-4.2.1.jar:]
at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)[org.apache.felix.framework-4.2.1.jar:]
at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)[:1.8.0_45]
... 32 more
I had to add spring in to support camel and cxf:
<feature name="karaf-spring" description="springframework requirements for
Karaf" install="auto" version="3.0.3">
<feature version="1.2.1">spring-dm</feature>
<feature version="3.2.11.RELEASE_1">spring</feature>
<feature version="3.2.11.RELEASE_1">spring-jdbc</feature>
<feature version="3.2.11.RELEASE_1">spring-jms</feature>
<feature version="3.2.11.RELEASE_1">spring-orm</feature>
<feature version="3.2.11.RELEASE_1">spring-tx</feature>
</feature>
What did I do wrong and why is this happening now?