[ 
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)

Reply via email to