I'm trying to use ecore in an Equinox OSGi environment.  I'll try  
first to state the problem and the symptoms without going deep into  
details, and provide any additional info in any follow-ups.

I am installing a fairly large set of required bundles...about a  
hundred.  This is the result of analyzing all the bundle dependencies  
of my client bundle.  My client bundle has a dependency on the  
org.eclipse.emf.ecore, and all of the hundred bundles that I install  
get resolved, including my client bundle.

I explicitly start my client bundle.  When I try to use ecore as a  
result of my client bundle activator, I get a class not found error  
on org.eclipse.em.ecore.EObject, which is in the ecore bundle.

Now here's the rub:  If I explicitly start the  
org.eclipse.equinox.common bundle before I start my client bundle, my  
code works.

My underlying question is:  How do I know what bundles need to be  
explicitly started in any given configuration?  In other words, what  
makes org.eclipse.equinox.common special in that I need to explicitly  
start it?  In my mental OSGi model, a bundle that has an activator  
will be started by the framework when its code gets referenced for  
the first time (barring explicit calls using the bundle context).  Is  
this in error?  Are there other bundles that I need to start  
explicitly, even though their code gets referenced?  If so, how do I  
know?  I'm wondering if there is a set of equinox bundles that I  
really should start in my runtime to get a properly functional OSGi  
runtime (Current the only such bundle is the org.eclipse.osgi  
framework bundle, which gets started implicitly, as it is the  
framework bundle).

As always, thanks for any pointers, or for sending me to a more  
appropriate list...

/djk
_______________________________________________
osgi-dev mailing list
osgi-dev@bundles.osgi.org
http://bundles.osgi.org/mailman/listinfo/osgi-dev

Reply via email to