[ 
https://issues.apache.org/jira/browse/KARAF-6345?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16936743#comment-16936743
 ] 

Robert Varga commented on KARAF-6345:
-------------------------------------

 

Ah, that might be it. FTR, on karaf-4.2.2 (working) I am getting this:

leveldb:
{noformat}
opendaylight-user@root>headers 207

wrap_file__home_nite_karaf-0.10.1_system_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar
 (207)
---------------------------------------------------------------------------------------------
Archiver-Version = Plexus Archiver
Bnd-LastModified = 1569328534564
Build-Jdk = 1.8.0_144
Build-Time = 2017-12-18T12:21:56-0800
Built-By = dain
Created-By = 11.0.4 (Oracle Corporation)
Generated-By-Ops4j-Pax-From = 
wrap:file:/home/nite/karaf-0.10.1/system/org/iq80/leveldb/leveldb/0.10/leveldb-0.10.jar
Git-Commit-Id = fbcd05b664c4add5a4ee247a34eb37fc8295b353
Implementation-Title = leveldb
Implementation-Vendor-Id = org.iq80.leveldb
Implementation-Version = 0.10
Manifest-Version = 1.0
Originally-Created-By = Apache Maven 3.5.2
Specification-Title = leveldb
Specification-Version = 0.10
Tool = Bnd-2.3.0.201405100607Bundle-ManifestVersion = 2
Bundle-Name = 
wrap_file__home_nite_karaf-0.10.1_system_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar
Bundle-SymbolicName = 
wrap_file__home_nite_karaf-0.10.1_system_org_iq80_leveldb_leveldb_0.10_leveldb-0.10.jar
Bundle-Version = 0Require-Capability = 
        osgi.ee;filter:=(&(osgi.ee=JavaSE)(version=1.8))Export-Package = 
        
org.iq80.leveldb.impl;uses:="com.google.common.collect,org.iq80.leveldb,org.iq80.leveldb.table,org.iq80.leveldb.util",
        
org.iq80.leveldb.table;uses:="org.iq80.leveldb,org.iq80.leveldb.impl,org.iq80.leveldb.util",
        
org.iq80.leveldb.util;uses:="com.google.common.collect,org.iq80.leveldb.impl,org.iq80.leveldb.table"
Import-Package = 
        com.google.common.base;resolution:=optional,
        com.google.common.cache;resolution:=optional,
        com.google.common.collect;resolution:=optional,
        com.google.common.io;resolution:=optional,
        com.google.common.primitives;resolution:=optional,
        com.google.common.util.concurrent;resolution:=optional,
        org.iq80.leveldb;resolution:=optional,
        org.iq80.snappy;resolution:=optional,
        org.xerial.snappy;resolution:=optional{noformat}
leveldbjni:

 

 
{noformat}
opendaylight-user@root>headers 105

leveldbjni-all (105)
--------------------
Bnd-LastModified = 1435622312707
Build-Jdk = 1.8.0_45
Built-By = xinyzhao
Created-By = Apache Maven Bundle Plugin
Embed-Dependency = *;groupId=org.fusesource.leveldbjni;inline=META-INF/native/*,
Embed-Transitive = true
Implementation-Title = LevelDB JNI
Implementation-Version = 1.8
Manifest-Version = 1.0
Tool = Bnd-1.50.0Bundle-Description = An uber jar which contains all the 
leveldbjni platform libraries and dependencies
Bundle-DocURL = http://fusesource.com/
Bundle-License = http://www.opensource.org/licenses/BSD-3-Clause
Bundle-ManifestVersion = 2
Bundle-Name = leveldbjni-all
Bundle-NativeCode = 
META-INF/native/windows32/leveldbjni.dll;osname=Win32;processor=x86,META-INF/native/windows64/leveldbjni.dll;osname=Win32;processor=x86-64,META-INF/native/osx/libleveldbjni.jnilib;osname=macosx;processor=x86,META-INF/native/osx/libleveldbjni.jnilib;osname=macosx;processor=x86-64,META-INF/native/linux32/libleveldbjni.so;osname=Linux;processor=x86,META-INF/native/linux64/libleveldbjni.so;osname=Linux;processor=x86-64,META-INF/native/sunos64/amd64/libleveldbjni.so;osname=SunOS;processor=x86-64,META-INF/native/sunos64/sparcv9/libleveldbjni.so;osname=SunOS;processor=sparcv9
Bundle-SymbolicName = org.fusesource.leveldbjni.leveldbjni-all
Bundle-Vendor = FuseSource, Corp.
Bundle-Version = 1.8.0
Export-Package = 
        org.fusesource.leveldbjni;uses:=org.iq80.leveldb;version=1.8,
        org.iq80.leveldb;version=0.6

{noformat}
akka-persistence:
{noformat}
opendaylight-user@root>headers 76

akka-persistence (76)
---------------------
Automatic-Module-Name = akka.persistence
Implementation-Title = akka-persistence
Implementation-URL = https://akka.io/
Implementation-Vendor = Lightbend Inc.
Implementation-Vendor-Id = com.typesafe.akka
Implementation-Version = 2.5.22
Manifest-Version = 1.0
Specification-Title = akka-persistence
Specification-Vendor = Lightbend Inc.
Specification-Version = 2.5.22
Tool = Bnd-4.0.0.201805111645Bundle-Description = akka-persistence
Bundle-DocURL = https://doc.akka.io/api/akka/2.5.22
Bundle-License = http://www.apache.org/licenses/LICENSE-2.0;description=Apache 
License, Version 2.0
Bundle-ManifestVersion = 2
Bundle-Name = akka-persistence
Bundle-SymbolicName = com.typesafe.akka.persistence
Bundle-Vendor = Lightbend Inc.
Bundle-Version = 2.5.22Require-Capability = 
        osgi.ee;filter:=(&(osgi.ee=JavaSE)(version>=1.8))Export-Package = 
        
akka.persistence;uses:="akka.actor,akka.dispatch,akka.event,akka.japi,akka.persistence.journal,akka.persistence.serialization,com.typesafe.config,scala,scala.collection,scala.collection.immutable,scala.concurrent.duration,scala.math,scala.reflect,scala.runtime,scala.util,scala.util.control";version=2.5.22,
        akka.persistence.fsm;
                uses:="akka.actor,
                        akka.dispatch,
                        akka.event,
                        akka.japi.pf,
                        akka.persistence,
                        akka.persistence.fsm.japi.pf,
                        akka.persistence.serialization,
                        akka.routing,
                        com.typesafe.config,
                        scala,
                        scala.collection,
                        scala.collection.immutable,
                        scala.collection.mutable,
                        scala.concurrent.duration,
                        scala.reflect,
                        scala.runtime";
                version=2.5.22,
        
akka.persistence.fsm.japi.pf;uses:="akka.japi.pf,akka.persistence.fsm,scala,scala.runtime";version=2.5.22,
        
akka.persistence.journal;uses:="akka,akka.actor,akka.dispatch,akka.event,akka.pattern,akka.persistence,akka.util,com.typesafe.config,scala,scala.collection,scala.collection.immutable,scala.collection.mutable,scala.concurrent,scala.concurrent.duration,scala.reflect,scala.runtime,scala.util";version=2.5.22,
        
akka.persistence.journal.inmem;uses:="akka.actor,akka.pattern,akka.persistence,akka.persistence.journal,com.typesafe.config,scala,scala.collection.immutable,scala.concurrent,scala.reflect,scala.runtime,scala.util";version=2.5.22,
        
akka.persistence.journal.japi;uses:="akka.actor,akka.pattern,akka.persistence,akka.persistence.journal,com.typesafe.config,scala,scala.collection.immutable,scala.concurrent,scala.reflect,scala.runtime,scala.util";version=2.5.22,
        akka.persistence.journal.leveldb;
                uses:="akka.actor,
                        akka.dispatch,
                        akka.event,
                        akka.pattern,
                        akka.persistence,
                        akka.persistence.journal,
                        akka.serialization,
                        akka.util,
                        com.typesafe.config,
                        org.iq80.leveldb,
                        scala,
                        scala.collection,
                        scala.collection.immutable,
                        scala.collection.mutable,
                        scala.concurrent,
                        scala.reflect,
                        scala.runtime,
                        scala.util";
                version=2.5.22,
        
akka.persistence.serialization;uses:="akka.actor,akka.persistence,akka.persistence.fsm,akka.protobuf,akka.serialization,scala,scala.collection,scala.collection.immutable,scala.reflect,scala.runtime";version=2.5.22,
        
akka.persistence.snapshot;uses:="akka.actor,akka.event,akka.pattern,akka.persistence,scala,scala.concurrent,scala.reflect,scala.runtime,scala.util";version=2.5.22,
        
akka.persistence.snapshot.japi;uses:="akka.actor,akka.event,akka.pattern,akka.persistence,akka.persistence.snapshot,scala,scala.concurrent,scala.reflect,scala.runtime";version=2.5.22,
        
akka.persistence.snapshot.local;uses:="akka.actor,akka.event,akka.pattern,akka.persistence,akka.persistence.serialization,akka.persistence.snapshot,com.typesafe.config,scala,scala.collection,scala.collection.immutable,scala.concurrent,scala.reflect,scala.runtime,scala.util.matching";version=2.5.22
Import-Package = 
        org.fusesource.leveldbjni;resolution:=optional;version="[1.8,2)",
        org.iq80.leveldb;resolution:=optional;version="[0.6,1)",
        org.iq80.leveldb.impl;resolution:=optional,
        akka;version="[2.5,2.6)",
        akka.actor;version="[2.5,2.6)",
        akka.dispatch;version="[2.5,2.6)",
        akka.event;version="[2.5,2.6)",
        akka.japi;version="[2.5,2.6)",
        akka.japi.pf;version="[2.5,2.6)",
        akka.pattern;version="[2.5,2.6)",
        akka.persistence;version="[2.5,2.6)",
        akka.persistence.fsm;version="[2.5,2.6)",
        akka.persistence.fsm.japi.pf;version="[2.5,2.6)",
        akka.persistence.journal;version="[2.5,2.6)",
        akka.persistence.serialization;version="[2.5,2.6)",
        akka.persistence.snapshot;version="[2.5,2.6)",
        akka.protobuf;version="[2.5,2.6)",
        akka.routing;version="[2.5,2.6)",
        akka.serialization;version="[2.5,2.6)",
        akka.util;version="[2.5,2.6)",
        akka.util.ccompat;version="[2.5,2.6)",
        com.typesafe.config;version="[1.3.0,1.4.0)",
        scala;version="[2.12,2.13)",
        scala.collection;version="[2.12,2.13)",
        scala.collection.convert;version="[2.12,2.13)",
        scala.collection.generic;version="[2.12,2.13)",
        scala.collection.immutable;version="[2.12,2.13)",
        scala.collection.mutable;version="[2.12,2.13)",
        scala.concurrent;version="[2.12,2.13)",
        scala.concurrent.duration;version="[2.12,2.13)",
        scala.math;version="[2.12,2.13)",
        scala.reflect;version="[2.12,2.13)",
        scala.runtime;version="[2.12,2.13)",
        scala.runtime.java8;version="[2.12,2.13)",
        scala.sys;version="[2.12,2.13)",
        scala.util;version="[2.12,2.13)",
        scala.util.control;version="[2.12,2.13)",
        scala.util.matching;version="[2.12,2.13)"{noformat}
i.e. wrap results in a versionless (0.0.0) export and that's pick up correctly.

 

> Optional imports do not propagate to OSGi framework
> ---------------------------------------------------
>
>                 Key: KARAF-6345
>                 URL: https://issues.apache.org/jira/browse/KARAF-6345
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf
>    Affects Versions: 4.2.4, 4.2.5, 4.2.6
>            Reporter: Robert Varga
>            Assignee: Jean-Baptiste Onofré
>            Priority: Critical
>             Fix For: 4.3.0, 4.2.8
>
>
> Based on 
> [https://lists.apache.org/thread.html/bf9e724cc9715b2a568bac7537a7be4a8df85867a2126bbd14e4e79d@%3Cdev.karaf.apache.org%3E]
> The problem is that:
> {noformat}
> java.lang.NoClassDefFoundError: org/iq80/leveldb/DBFactory
>         at java.lang.Class.getDeclaredConstructors0(Native Method)
>         at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
>         at java.lang.Class.getDeclaredConstructors(Class.java:2020)
>         at akka.util.Reflect$.findConstructor(Reflect.scala:92)
>         at 
> akka.persistence.Persistence.akka$persistence$Persistence$$createPlugin(Persistence.scala:408)
> [snip]
> Caused by: java.lang.ClassNotFoundException: org.iq80.leveldb.DBFactory 
> cannot be found by com.typesafe.akka.persistence_2.5.23
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:484)
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:395)
>         at 
> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:387)
>         at 
> org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>         ... 32 more{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to