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

在项目重构为DS模式后,启动时遇到bundle状态为installed的问题,通过引入并正确配置org.eclipse.equinox.dsbundle,解决了因缺少org.eclipse.equinox.internal.util.event等依赖导致的错误,最终实现项目的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  在将项目重构为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,问题解决,项目可以正常运行。

转载于:https://www.cnblogs.com/abortre/p/10243423.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值