(1) Replace the component-xml by those found in the diff. The namespace is important for SCR.
done
(2) There cannot be two methods which the same name, but which an input output structure not corresponding to the SCR spec. Therefore, I had to introduce the class MultiException to get rid of the return type List<Exception> and remove the initialize(ClassLoader) method.
I don't understand "There cannot be two methods with the same name". But from OSGi 5.0 CMPN 112.5.8 I see that the 'List<Exceptions>' return type is not valid for the activate method. My fix was simply creating a new 'activate' method with 'void' as return type. And since this method is also named 'activate', we can omit the attribute in the component XML configuration.
A blocker is now, that the correct classloader must be forwarded to SmackConfiguration.
My solution is to use 'this.getClass().getClassLoader()' in the activate method. Since 'this' is a class out of the components bundle, e.g. o.j.s.initializer.experimental.ExperimentalInitialzier, I would expect this class loader to be able to see and load the required files and classes. Or am I wrong? If so, what is the correct classloader? And how to obtain it?
Have a look at my current OSGi work at https://github.com/Flowdalic/Smack/tree/osgi