Hi, thank you for your reply. Which Karaf version contains the fix? We ended up using Karaf 4.2.3 dynamic version, at least for now.
Michał Dąbrowski On 20 Mar 2019, 15:28 +0100, Jean-Baptiste Onofré <[email protected]>, wrote: > Hi Michal, > > just to let you know that I fixed the issue (the export package version > was not correct in staticcm for scr). > > I'm preparing a full blog and improvements around static distro. > > Regards > JB > > On 04/02/2019 15:32, Michal Dabrowski wrote: > > I used wysiwyg "raw text" formatter and unfortunately all quotes went blank. > > I have edited my post but probably you have not seen it in mail. > > > > You can reproduce it by running Karaf 4.2.2 karaf-profile-example-static > > (https://github.com/apache/karaf/tree/karaf-4.2.2/examples/karaf-profile-example/karaf-profile-example-static) > > > > During startup it prints in logs: > > > > 2019-02-04T15:17:35,403 | ERROR | FelixDispatchQueue | metatype > > | 35 - org.apache.felix.metatype - 1.2.2 | FrameworkEvent ERROR - > > org.apache.felix.metatype > > org.osgi.framework.ServiceException: Service factory exception: > > org/osgi/service/cm/ManagedService > > at > > org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:352) > > ~[?:?] > > at > > org.apache.felix.framework.ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java:247) > > ~[?:?] > > at > > org.apache.felix.framework.ServiceRegistry.getService(ServiceRegistry.java:350) > > ~[?:?] > > at org.apache.felix.framework.Felix.getService(Felix.java:3737) > > ~[?:?] > > at > > org.apache.felix.framework.BundleContextImpl.getService(BundleContextImpl.java:470) > > ~[?:?] > > at > > org.apache.felix.metatype.internal.ManagedServiceTracker.addingService(ManagedServiceTracker.java:52) > > ~[?:?] > > at > > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:941) > > ~[?:?] > > at > > org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:870) > > ~[?:?] > > at > > org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256) > > ~[?:?] > > at > > org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:229) ~[?:?] > > at > > org.osgi.util.tracker.ServiceTracker$Tracked.serviceChanged(ServiceTracker.java:901) > > ~[?:?] > > at > > org.apache.felix.framework.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:990) > > ~[?:?] > > at > > org.apache.felix.framework.EventDispatcher.fireEventImmediately(EventDispatcher.java:838) > > ~[?:?] > > at > > org.apache.felix.framework.EventDispatcher.fireServiceEvent(EventDispatcher.java:545) > > ~[?:?] > > at > > org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4595) ~[?:?] > > at org.apache.felix.framework.Felix.registerService(Felix.java:3587) > > ~[?:?] > > at > > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:348) > > ~[?:?] > > at > > org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:322) > > ~[?:?] > > at > > org.apache.felix.scr.impl.config.ScrConfigurationImpl.start(ScrConfigurationImpl.java:122) > > ~[?:?] > > at org.apache.felix.scr.impl.Activator.start(Activator.java:100) > > ~[?:?] > > at > > org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:697) > > ~[?:?] > > at org.apache.felix.framework.Felix.activateBundle(Felix.java:2240) > > ~[?:?] > > at org.apache.felix.framework.Felix.startBundle(Felix.java:2146) > > ~[?:?] > > at > > org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1373) ~[?:?] > > at > > org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308) > > ~[?:?] > > at java.lang.Thread.run(Thread.java:748) [?:?] > > Caused by: java.lang.NoClassDefFoundError: > > org/osgi/service/cm/ManagedService > > at java.lang.ClassLoader.defineClass1(Native Method) ~[?:?] > > at java.lang.ClassLoader.defineClass(ClassLoader.java:763) ~[?:?] > > at > > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.defineClass(BundleWiringImpl.java:2410) > > ~[?:?] > > at > > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2194) > > ~[?:?] > > at > > org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1607) > > ~[?:?] > > at > > org.apache.felix.framework.BundleWiringImpl.access$200(BundleWiringImpl.java:80) > > ~[?:?] > > at > > org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:2053) > > ~[?:?] > > at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:?] > > at > > org.apache.felix.scr.impl.config.ScrManagedServiceServiceFactory.getService(ScrManagedServiceServiceFactory.java:47) > > ~[?:?] > > at > > org.apache.felix.framework.ServiceRegistrationImpl.getFactoryUnchecked(ServiceRegistrationImpl.java:347) > > ~[?:?] > > ... 25 more > > Caused by: java.lang.ClassNotFoundException: > > org.osgi.service.cm.ManagedService not found by org.apache.felix.scr [36] > > > > > > I think it is because: > > > > Apache Felix Declarative Services (36) bundle imports: > > > > Import-Package = > > org.osgi.service.cm;resolution:=optional;version="[1.6,2)", > > (...) > > > > and Static ConfigAdmin headers: > > > > Apache Karaf :: OSGi Services :: Static ConfigAdmin (5) > > ------------------------------------------------------- > > Build-Jdk = 1.8.0_144 > > Manifest-Version = 1.0 > > > > Bundle-Activator = org.apache.karaf.services.staticcm.Activator > > Bundle-Description = Static ConfigAdmin Service > > Bundle-DocURL = http://karaf.apache.org/ > > Bundle-License = https://www.apache.org/licenses/LICENSE-2.0.txt > > Bundle-ManifestVersion = 2 > > Bundle-Name = Apache Karaf :: OSGi Services :: Static ConfigAdmin > > Bundle-SymbolicName = org.apache.karaf.services.staticcm > > Bundle-Vendor = The Apache Software Foundation > > Bundle-Version = 4.2.2 > > > > Export-Service = > > org.osgi.service.cm.ConfigurationAdmin > > Require-Capability = > > osgi.ee;filter:=(&(osgi.ee=JavaSE)(version=1.8)) > > > > DynamicImport-Package = > > org.osgi.service.log;version="[1.3,2)" > > Export-Package = > > org.osgi.service.cm;uses:=org.osgi.framework;version=1.5 > > Import-Package = > > org.osgi.service.cm;version="[1.5,2)", > > org.osgi.framework;version="[1.8,2)", > > org.osgi.util.tracker;version="[1.5,2)" > > > > Static ConfigAdmin provides org.osgi.service.cm 1.5 version but Felix scr > > needs 1.6. > > > > > > > > -- > > Sent from: http://karaf.922171.n3.nabble.com/Karaf-User-f930749.html > > > > -- > Jean-Baptiste Onofré > [email protected] > http://blog.nanthrax.net > Talend - http://www.talend.com
