AnsweredAssumed Answered

smack-core-4.0.4 and knopflerfish OSGi

Question asked by codavide on Sep 24, 2014
Latest reply on Sep 24, 2014 by codavide

Hi,

I'm using the smack library in a project based on Knopflerfish OSGi.

When I have introduced the new version of the library (4.0.4, previously I was using the 3.4.1), I had an error of type unsupported-feature, trying to execute an ad-hoc command on a client.

Debugging the code I have found that the error was due to the fact that the smack-core initializer fails, with a ClassNotFoundException,  when it tries to load these classes, contained in the smack-config file:

 

 

   <optionalStartupClasses>

        <className>org.jivesoftware.smack.util.dns.javax.JavaxResolver</className>

        <className>org.jivesoftware.smack.initializer.extensions.ExtensionsInitializer< /className>

        <className>org.jivesoftware.smack.initializer.experimental.ExperimentalInitiali zer</className>

        <className>org.jivesoftware.smack.initializer.legacy.LegacyInitializer</classNa me>

    </optionalStartupClasses>

 

 

I've solved this issue, adding in the manifest file of smack-core, in Import-package also:  org.jivesoftware.smack.util.dns.javax and org.jivesoftware.smack.initializer.extensions (because I don't need experimental and legacy).

 

 

Is this the expected behaviour? If you need to use an optional initializer contained in a Smack bundle that is not smack-core, you have to add the package to the manifest of smack-core or is there another way?

 

Thanks,

Davide

Outcomes