Even if it works (I trust you ;)), it sounds like something changed as Jochen said it works fine with 4.0.1, and the same way doesn't work on 4.0.2.

The NoClassDefFoundError sounds like a ClassLoader issue. Maybe a change in the import resolution or so.

@Jochen, can you share your OSGi headers ?

Regards
JB

On 10/14/2015 09:41 AM, Christian Schneider wrote:
Eclipselink should work fine with Apache Karaf 4.0.2.

I just switched my tasklist-blueprint-cdi example to eclipslink and it
works fine.
https://github.com/cschneider/Karaf-Tutorial/tree/eclipselink/tasklist-blueprint-cdi


Can you try if the example works for you. If it works then I think I
will need a small example derived from your code to see what is going
wrong.

Christian

On 14.10.2015 07:47, jochenw wrote:
Hello,

I just tried Karaf 4.0.2. When starting my bundles exactly the same
way as
with 4.0.1, I receive an exception:

[EL Severe]: 2015-10-14
07:44:04.226--ServerSession(343138733)--java.lang.NoClassDefFoundError:
org/eclipse/persistence/internal/jpa/rs/metadata/model/Link
         at java.lang.Class.getDeclaredMethods0(Native Method)
         at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
         at java.lang.Class.getDeclaredMethods(Class.java:1975)
         at
org.eclipse.persistence.internal.security.PrivilegedAccessHelper.getDeclaredMethods(PrivilegedAccessHelper.java:339)

         at
org.eclipse.persistence.internal.jpa.metadata.listeners.EntityListenerMetadata.getDeclaredMethods(EntityListenerMetadata.java:249)

         at
org.eclipse.persistence.internal.jpa.metadata.listeners.EntityClassListenerMetadata.process(EntityClassListenerMetadata.java:89)

         at
org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.processListeners(EntityAccessor.java:1226)

         at
org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.addEntityListeners(MetadataProcessor.java:140)

         at
org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:634)

         at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:205)

         at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.createEntityManagerImpl(EntityManagerFactoryDelegate.java:305)

         at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManagerImpl(EntityManagerFactoryImpl.java:337)

         at
org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:310)

         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

         at java.lang.reflect.Method.invoke(Method.java:497)
         at
org.apache.aries.jpa.container.impl.QuiesceEMFHandler.invoke(QuiesceEMFHandler.java:57)

         at com.sun.proxy.$Proxy32.createEntityManager(Unknown Source)
         at
org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManagerHandler.getPersistenceContext(JTAEntityManagerHandler.java:120)

         at
org.apache.aries.jpa.container.context.transaction.impl.JTAEntityManagerHandler.invoke(JTAEntityManagerHandler.java:182)

         at com.sun.proxy.$Proxy33.createQuery(Unknown Source)
...
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

         at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

         at java.lang.reflect.Method.invoke(Method.java:497)
         at
org.apache.aries.blueprint.utils.ReflectionUtils.invoke(ReflectionUtils.java:299)

         at
org.apache.aries.blueprint.container.BeanRecipe.invoke(BeanRecipe.java:956)

         at
org.apache.aries.blueprint.container.BeanRecipe.runBeanProcInit(BeanRecipe.java:712)

         at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRecipe.java:824)

         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)
         at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)

         at
org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java:62)
         at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:106)

         at
org.apache.aries.blueprint.container.ServiceRecipe.createService(ServiceRecipe.java:285)

         at
org.apache.aries.blueprint.container.ServiceRecipe.internalGetService(ServiceRecipe.java:252)

         at
org.apache.aries.blueprint.container.ServiceRecipe.internalCreate(ServiceRecipe.java:149)

         at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)

         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
         at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)

         at
org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:247)

         at
org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)

         at
org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:682)

         at
org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:377)

         at
org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:269)

         at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:294)

         at
org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:263)

         at
org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:253)

         at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:500)

         at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.customizerModified(BundleHookBundleTracker.java:433)

         at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$AbstractTracked.track(BundleHookBundleTracker.java:725)

         at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$Tracked.bundleChanged(BundleHookBundleTracker.java:463)

         at
org.apache.aries.util.tracker.hook.BundleHookBundleTracker$BundleEventHook.event(BundleHookBundleTracker.java:422)

         at
org.apache.felix.framework.util.SecureAction.invokeBundleEventHook(SecureAction.java:1179)

         at
org.apache.felix.framework.util.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730)

         at
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:485)

         at
org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4544)
         at org.apache.felix.framework.Felix.startBundle(Felix.java:2166)
         at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:977)
         at
org.apache.felix.framework.BundleImpl.start(BundleImpl.java:964)
         at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1189)

         at
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:836)

         at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1079)

         at
org.apache.karaf.features.internal.service.FeaturesServiceImpl$1.call(FeaturesServiceImpl.java:975)

         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
         at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

         at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

         at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException:
org.eclipse.persistence.internal.jpa.rs.metadata.model.Link not found by
<mypersistencebundle>.persistence.
offboard [44]
         at
org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1558)

         at
org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:79)

         at
org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1998)

         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
         ... 72 more


Could it be that Eclipselink has some problem with JPA 2.2.0?

Best Regards,
Jochen



--
View this message in context:
http://karaf.922171.n3.nabble.com/Karaf-4-0-2-Problem-Eclipselink-2-6-0-with-JPA-2-2-0-tp4043068.html

Sent from the Karaf - User mailing list archive at Nabble.com.



--
Jean-Baptiste Onofré
[email protected]
http://blog.nanthrax.net
Talend - http://www.talend.com

Reply via email to