[
https://issues.apache.org/jira/browse/KARAF-6910?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jean-Baptiste Onofré resolved KARAF-6910.
-----------------------------------------
Resolution: Cannot Reproduce
> Karaf 4.3.0: java.lang.NoClassDefFoundError:
> javax/persistence/criteria/Selection
> ---------------------------------------------------------------------------------
>
> Key: KARAF-6910
> URL: https://issues.apache.org/jira/browse/KARAF-6910
> Project: Karaf
> Issue Type: Question
> Components: karaf
> Affects Versions: 4.3.0
> Reporter: Nicolas Duminil
> Assignee: Jean-Baptiste Onofré
> Priority: Minor
> Attachments: Screenshot_20201112_195042.png
>
>
> Hello,
> The exception above is raised upon the deployment of a feature in Karaf
> 4.3.0. Here is the stack trace:
> {code:java}
> 9:18:34.842 ERROR [features-3-thread-1] Unable to start container for
> blueprint bundle ...
> java.lang.NoClassDefFoundError: javax/persistence/criteria/Selection
> at java.lang.Class.getDeclaredFields0(Native Method) ~[?:?]
> at java.lang.Class.privateGetDeclaredFields(Class.java:3061) ~[?:?]
> at java.lang.Class.getDeclaredFields(Class.java:2248) ~[?:?]
> at
> org.apache.aries.jpa.blueprint.impl.AnnotationScanner.parseClass(AnnotationScanner.java:39)
> ~[?:?]
> at
> org.apache.aries.jpa.blueprint.impl.AnnotationScanner.getJpaAnnotatedMembers(AnnotationScanner.java:33)
> ~[?:?]
> at
> org.apache.aries.jpa.blueprint.impl.JpaComponentProcessor.handleComponent(JpaComponentProcessor.java:102)
> ~[?:?]
> at
> org.apache.aries.jpa.blueprint.impl.JpaComponentProcessor.process(JpaComponentProcessor.java:77)
> ~[?:?]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.processProcessors(BlueprintContainerImpl.java:573)
> ~[?:?]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:417)
> ~[?:?]
> at
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:298)
> ~[?:?]
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:311)
> ~[?:?]
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:280)
> ~[?:?]
> at
> org.apache.aries.blueprint.container.BlueprintExtender.createContainer(BlueprintExtender.java:276)
> ~[?:?]
> at
> org.apache.aries.blueprint.container.BlueprintExtender.modifiedBundle(BlueprintExtender.java:266)
> ~[?:?]
> 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:1180)
> ~[?:?]
> at
> org.apache.felix.framework.EventDispatcher.createWhitelistFromHooks(EventDispatcher.java:730)
> ~[?:?]
> at
> org.apache.felix.framework.EventDispatcher.fireBundleEvent(EventDispatcher.java:485)
> ~[?:?]
> at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4817)
> ~[?:?]
> at org.apache.felix.framework.Felix.startBundle(Felix.java:2336)
> ~[?:?]
> at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:998)
> ~[?:?]
> at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:984)
> ~[?:?]
> at
> org.apache.karaf.features.internal.service.BundleInstallSupportImpl.startBundle(BundleInstallSupportImpl.java:165)
> ~[?:?]
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.startBundle(FeaturesServiceImpl.java:1153)
> ~[?:?]
> at
> org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:1034)
> ~[?:?]
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
> ~[?:?]
> at
> org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
> ~[?:?]
> at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> [?:?]
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> [?:?]
> at java.lang.Thread.run(Thread.java:834) [?:?]
> Caused by: java.lang.ClassNotFoundException:
> javax.persistence.criteria.Selection not found by
> fr.simplex-software.micro-services.press-release-jpa
> [80]
> at
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1597)
> ~[?:?]
> at
> org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79)
> ~[?:?]
> at
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982)
> ~[?:?]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:521) ~[?:?]
> ... 35 more
> {code}
> Here is the feature I'm trying to deploy:
> {code:java}
> karaf@root()> feature:info ...
> Feature ...
> Feature has no configuration
> Feature has no configuration files
> Feature depends on:
> transaction 2.0.0
> jndi 4.3.0
> pax-jdbc-config 1.4.4
> pax-jdbc-h2 1.4.4
> pax-jdbc-pool-dbcp2 1.4.4
> jdbc 4.3.0
> aries-blueprint 4.3.0
> jpa 2.7.2
> hibernate 5.4.22.Final
> hibernate-validator 6.1.6.Final
> Feature contains followed bundles:
> mvn:...
> Feature has no conditionals.
> karaf@root()>
> {code}
> So, the feature depends on hibernate 5.4.22.Final which is shown below:
> {code:java}
> Feature hibernate 5.4.22.Final
> Description:
> Hibernate JPA engine support
> Feature has no configuration
> Feature has no configuration files
> Feature depends on:
> wrap 0.0.0
> transaction-api 0.0.0
> aries-blueprint 0.0.0
> Feature contains followed bundles:
> mvn:org.jboss.logging/jboss-logging/3.3.2.Final
> wrap:mvn:antlr/antlr/2.7.7
> mvn:javax.persistence/javax.persistence-api/2.2
> mvn:org.javassist/javassist/3.24.0-GA
> mvn:net.bytebuddy/byte-buddy/1.10.10
>
> mvn:org.jboss.spec.javax.transaction/jboss-transaction-api_1.2_spec/1.1.1.Final
> mvn:org.jboss/jandex/2.1.3.Final
> mvn:com.fasterxml/classmate/1.5.1
> wrap:mvn:org.dom4j/dom4j/2.1.1
> mvn:org.hibernate.common/hibernate-commons-annotations/5.1.0.Final
> mvn:org.hibernate/hibernate-core/5.4.22.Final
> mvn:javax.interceptor/javax.interceptor-api/1.2
> mvn:org.hibernate/hibernate-osgi/5.4.22.Final
> Feature has no conditionals.
> karaf@root()>
> {code}
> The hibernate feature is installed:
> {code:java}
> karaf@root()> feature:list -i | grep hibernate
>
> hibernate-validator │ 6.1.6.Final │ │ Started │
> hibernate-validator-osgi-features │
> hibernate │ 5.4.22.Final │ │ Started │
> enterprise-4.3.0 │ Hibernate JPA engine support
> karaf@root()>
> {code}
> My feature also depends on jpa 2.7.2 which is shown below:
> {code:java}
> karaf@root()> feature:info jpa
> Feature jpa 2.7.2
> Description:
> OSGi Persistence Container
> Details:
> JPA implementation provided by Apache Aries JPA 2.x. NB: this feature
> doesn't provide the JPA engine, you have to install one by yourself (OpenJPA
> for instance)
> Feature has no configuration
> Feature has no configuration files
> Feature has no dependencies.
> Feature contains followed bundles:
> mvn:org.apache.aries.jpa.javax.persistence/javax.persistence_2.1/2.7.2
> mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1
> mvn:org.osgi/org.osgi.service.jdbc/1.0.0
> mvn:org.apache.felix/org.apache.felix.coordinator/1.0.2 start-level=30
> mvn:org.apache.aries.jpa/org.apache.aries.jpa.api/2.7.2 start-level=30
> mvn:org.apache.aries.jpa/org.apache.aries.jpa.container/2.7.2 start-level=30
> mvn:org.apache.aries.jpa/org.apache.aries.jpa.support/2.7.2 start-level=30
> Feature contains followed conditionals:
> Conditional(aries-blueprint) has no configuration
> Conditional(aries-blueprint) has no configuration files
> Conditional(aries-blueprint) has no dependencies.
> Conditional(aries-blueprint) contains followed bundles:
> mvn:org.apache.aries.jpa/org.apache.aries.jpa.blueprint/2.7.2 start-level=30
> karaf@root()>
> {code}
> This feature is installed as well:
> {code:java}
> karaf@root(feature)> feature;list -i | grep jpa
> press-release-jpa │ 1.0.0.SNAPSHOT │ x │ Started │
> press-release │
> jpa │ 2.7.2 │ │ Started │
> aries-jpa-2.7.2 │ OSGi Persistence Container
> karaf@root(feature)>
> {code}
> Not sure what else has to be installed such that to avoid raising this
> exception.
> Many thanks in advance for your help.
> Nicolas
--
This message was sent by Atlassian Jira
(v8.3.4#803005)