Thanks Simon that lead me down the right path. I was actually running against a "cracked" open bundle already, actually I was installing my eclipse project root as the bundle instead of a packaged jar. That's when I realized my compiled classes were in my output folder duh (i.e. /bin). So I packaged up my two bundles as jars and my activator works. However now it is not finding the exported packaged in the other bundle :(. Apparently the eclipse tooling (PDE and equinox launcher) resolves all this for you when launching equinox stand-alone via the eclipse launch config. However you lose all these goodies when you launch it via the servlet bridge and start installing bundles manually ;).
Here is my setup, I have one bundle HelloWorld, that exposes one package (com.railinc.example.hello) that contains one Interface (HelloWorld). Here is its manifest: Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: HelloWorld Plug-in Bundle-SymbolicName: HelloWorld Bundle-Version: 1.0.2 Bundle-Localization: plugin Export-Package: com.railinc.example.hello Bundle-ClassPath: . My HelloWorld.jar has the following: com/railinc/example/hello/HelloWorld.class meta-inf/Manifest.mf I then have another bundle HelloNoSpring that has an internal implementation of the HelloWorld interface and an Activator. Its manifest looks like this: Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: HelloNoSpring Plug-in Bundle-SymbolicName: HelloNoSpring Bundle-Version: 1.0.4 Bundle-Activator: com.railinc.example.activator.HelloNoSpringActivator Bundle-Localization: plugin Import-Package: com.railinc.example.hello, org.osgi.framework;version="1.3.0" Bundle-ClassPath: . Its jar has the following: com/railinc/example/activator/HelloNoSpringActivator.class com/railinc/example/hello/impl/HelloWorldImpl.class meta-inf/Manifest.mf * HelloWorldImpl implements the HelloWorld Interface * The Activator news up an instance of HelloWorldImpl and tries to invoke it. If I comment out the HelloWorld part my activator runs fine now. However when I add the HelloWorld stuff in there it fails saying it can't find my HelloWorld interface :(. Another very interesting point! If I add the HelloWorld bundle as a required bundle instead of an imported package it works, but when I try to just do it as an imported package, I get the CNFE :(. Any ideas anyone? _______________________________________________ equinox-dev mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/equinox-dev
