不能在eclipse之外运行osgi bundle

时间:2012-01-16 17:11:57

标签: java osgi equinox

我正在使用osgi制作我的第一步,我对我创建的包有问题。

我在eclipse中开发了3个bundle(它们是插件项目)。当我使用一个新的空目标在eclipse中运行我的bundle时,它们的工作非常好。

然后我尝试导出它们并在没有eclipse的情况下运行它我遇到了问题。我为它们中的每一个创建了一个jar文件(使用export - > deployable plugin),然后我将它们安装在一个运行的equinox容器(v3.7.1,来自eclipse的插件目录)中,我得到了很多针对RuntimeErrorException的ClassNotFoundExceptions

这看起来像是一个类路径问题。我想我没有正确导出捆绑包,但我不确定。

只有2个捆绑包使用其他库

才会出现问题

我该怎么做呢?

如果您需要,这是full stack

1 个答案:

答案 0 :(得分:2)

以一个例外为例:javax.management.RuntimeErrorException上的NoClassDefFoundError。

您是否在捆绑包中导入了包裹javax.management

请参阅OSGi社区Wiki的以下页面,它似乎与您的问题直接相关:http://wiki.osgi.org/wiki/Why_does_Eclipse_find_javax.swing_but_not_Felix%3F