OSGi插件不会在tomcat中启动

时间:2009-03-30 18:54:19

标签: tomcat plugins eclipse-plugin osgi

我有一个带有激活器的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 插件/ 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 :开始 osgi.bundles.defaultStartLevel = 4

但是当我尝试激活调用tts.service的包时,我收到此错误。

详细说明: com.fnet.runtime.KSException:无法启动包'com.fnet.tts.service.viewSchedule_2.0.0.jar'         在com.runtime.impl.RuntimeServiceImpl $ KSImpl .loadKnowledgebase(RuntimeServiceImpl.java:190)         at com..loadKnowledgebaseHandle(InterviewContext.java:83) 引起:org.osgi.framework.BundleException:无法解析包。  原因:缺少约束:Require-Bundle:com.fnet.tts.service;束版本=“1.0.0”         在org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(Bundl eHost.java:305)         在org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac tBundle.java:265)         在org.eclipse.osgi.framework.internal.core.AbstractBundle.start(Abstrac tBundle.java:257)         在com.fnet.runtime.impl.RuntimeServiceImpl $ KSImpl .loadKnowledgebase(RuntimeServiceImpl.java:188)         ......还有3个

我一直在看这几个小时,我正在寻找线索,提示或答案,以便我能继续前进。

感谢。

1 个答案:

答案 0 :(得分:0)

您是否可以启用更多调试输出以查看“com.fnet.tts.service”捆绑包发生了什么? Equinox是否尝试加载并失败,或者甚至没有尝试过?

另外,您可以访问OSGi控制台吗?如果是这样,安装的捆绑包列表如何?您可以手动从控制台安装捆绑包吗?

您正在启动级别4启动捆绑包。可能未达到此启动级别。当您在1级启动捆绑包(所有捆绑包?)时它是否有效?