It's what I did on master: I built the registry (adding scr feature in karaf profile) and the static profile based distribution (using the karaf profile):
[INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary for Apache Karaf :: Examples :: Profile 4.2.3-SNAPSHOT: [INFO] [INFO] Apache Karaf :: Examples :: Profile ................ SUCCESS [ 1.184 s] [INFO] Apache Karaf :: Examples :: Profile :: Registry .... SUCCESS [ 0.511 s] [INFO] Apache Karaf :: Examples :: Profile :: Dynamic Assembly SUCCESS [ 8.058 s] [INFO] Apache Karaf :: Examples :: Profile :: Static Assembly SUCCESS [ 10.768 s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ Then, I started the static profile based distribution: ./karaf-profile-example-static-4.2.3-SNAPSHOT/bin/karaf I have an issue with ActiveMQ (I gonna fix that), but no problem with SCR/ConfigAdmin. 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
