我有一个带有激活器的 OSGi 插件,我要求在我的 tomcat jsf 项目下启动它。
基于: http: //www.eclipse.org/equinox/documents/quickstart.php和其他一些文档,我已将此结构放在我的 WEB-INF 目录下以启动 osgi 的Equinox 实现。我已经能够直接访问插件,但不能通过从另一个插件引用它以编程方式访问它。这就是那个例子。
MyProject 配置/config.ini org.eclipse.osgi_3.3.0.jar org.eclipse.equinox.common_3.3.0.jar org.eclipse.update.configurator_3.2.100.jar plugins/com.fnet.tts.service_1.0.0.jar
我在 config.ini 中放置了以下两行
osgi.bundles=org.eclipse.equinox.common@2:start, org.eclipse.update.configurator@start, org.eclipse.equinox.registry@3:start, com.fnet.tts.service@4:start osgi .bundles.defaultStartLevel=4
但是,当我尝试激活调用 tts.service 的包时出现此错误。
详细信息:com.fnet.runtime.KSException:无法在 com.runtime.impl.RuntimeServiceImpl$KSImpl .loadKnowledgebase(RuntimeServiceImpl.java:190) 处启动捆绑“com.fnet.tts.service.viewSchedule_2.0.0.jar” ..loadKnowledgebaseHandle(InterviewContext.java:83) 原因:org.osgi.framework.BundleException:无法解析捆绑包。原因:缺少约束:Require-Bundle: com.fnet.tts.service;bundle-version="1.0.0" at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Bundl eHost.java:305) at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(摘要 tBundle.java:265) 在 org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstract tBundle.java:257) 在 com.fnet.runtime.impl.RuntimeServiceImpl$KSImpl .loadKnowledgebase(RuntimeServiceImpl.java:
我已经看了好几个小时了,我正在寻找线索、提示或答案,以便我可以继续前进。
谢谢。