重构osgi项目简易字典查询时遇到的问题

  在将项目重构为ds(Declarative Services)模式后,按照书上的要求启动系统时需要引入org.eclipse.equinox.ds bundle。然鹅run后发现该bundle的状态是installed,start后报错:

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

  估摸着应该是缺少bundle依赖。紧接查看该bundle jar包里META-INF文件夹下的MANIFEST.MF内容:

Import-Package: org.eclipse.equinox.internal.util.event;version="1.0",
org.eclipse.equinox.internal.util.hash;version="1.0",org.eclipse.equi
nox.internal.util.pool;version="1.0",org.eclipse.equinox.internal.uti
l.ref;version="1.0",org.eclipse.equinox.internal.util.threadpool;vers
ion="1.0",org.eclipse.equinox.internal.util.timer;version="1.0",org.e
clipse.osgi.framework.console;version="1.0",org.eclipse.osgi.service.
debug;version="1.0",org.eclipse.osgi.util,org.osgi.framework;version=
"1.3",org.osgi.service.cm;version="1.2",org.osgi.service.component;ve
rsion="1.1",org.osgi.service.log;version="1.3.0",org.osgi.service.met
atype;version="1.1",org.osgi.util.tracker;version="1.3"

  然后发现存在org.eclipse.equinox.util的bundle,果断勾选,重新run,问题解决,项目可以正常运行。

猜你喜欢

转载自www.cnblogs.com/abortre/p/10243423.html