[OSGi] 启动OSGi的Declarative Services

 

在使用OSGi的Declarative Services功能时,首先得启动该服务。


但在试图启动org.eclipse.equinox.ds_*.jar到ACTIVE状态时,提示如下:


org.osgi.framework.BundleException: The Bundle could not be resolved. Reason: Missing Constraint: ImportPackage: org.eclipse.equinox.internal.util.event; version="1.0.0"


at org.eclipse.osgi.framework.internal.core.AbstractBundle.getResolverError(AbstractBundle.java:XXX)


......


根据错误提示,显然需要org.eclipse.equinox.internal.util.event包,因此在启动ds之前启动org.eclipse.equinox.util_*.jar,然而仍然报错,经过一番折腾,才知还需要org.eclipse.osgi.services_*.jar的支持。


最后总结如下:


要使用OSGi的Declarative Services需要以下Bundle的支持


org.eclipse.osgi_*.jar


org.eclipse.osgi.services_*.jar 


org.eclipse.equinox.util_*.jar


在启用以上Bundle的情况下,就可以启动org.eclipse.equinox.ds_*.jar,随之Declarative Services功能也就可以使用了




本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kdevn/archive/2009/09/01/4508958.aspx

 

你可能感兴趣的:(osgi)