Your bundle has to import org.osgi.framework (i.e., Import-Package:
org.osgi.framework) in its manifest...
Bundles have to import every package they use except for java.*
packages...to simplify this task you can use our maven-bundle-plugin.
-> richard
asaf.lahav wrote:
Hi all,
I installed a bundle in which I have a custom activator class.
The problem is that when I attempt to use the context handle [e.g.
context.getBundle();] I'm getting as input parameter I get the following
exception:
java.lang.NoClassDefFoundError: org/osgi/framework/BundleContext
at example.activators.MyActivator.start(MyActivator.java:41)ERROR:
Error starting reference:file:c:/Development/OGSi/OSGiTestBundle
(org.osgi.framework.BundleException: Activator start error.)
at
org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.jav
a:509)
at org.apache.felix.framework.Felix._startBundle(Felix.java:1260)
at org.apache.felix.framework.Felix.startBundle(Felix.java:1201)
at
org.apache.felix.framework.Felix.setFrameworkStartLevel(Felix.java:807)
at
org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:256)
at java.lang.Thread.run(Unknown Source)
As org/osgi/framework/BundleContext part of the framework, I can't say I
understand the reason.
Am I supposed to explicitly specify Felix.jar in the bundle class-path?
Thanks in advance,
Asaf