无法在 Eclipse 之外运行 osgi 包
我正在使用 osgi 迈出第一步,但我创建的包有问题。
我在 eclipse 中开发了 3 个包(它们是插件项目)。当我使用新的空目标在 eclipse 中运行我的包时,它们工作得非常好。
然后我尝试导出它们并在没有 Eclipse 的情况下运行它们,但我运行时遇到了问题。我为它们每个创建了一个 jar 文件(使用导出 -> 可部署插件),然后将它们安装在正在运行的 equinox 容器中(v3.7.1,来自 eclipse 的插件目录),并且我得到了很多 RuntimeErrorException 的 ClassNotFoundExceptions,
这看起来就像类路径问题。我认为我没有正确导出捆绑包,但我不确定。
该问题仅发生在其中 2 个捆绑包中,它们使用了额外的库,
我怎样才能正确地做到这一点?
如果您需要它,这是完整堆栈
I am making my firsts steps using osgi and I have a problem with a bundle I created.
I developed 3 bundles in eclipse (they are plugin projects). When I run my bundles inside eclipse using a new and empty target, they work very nice.
Then I tried to export them and run them without eclipse I ran with problems. I created a jar file for each one of them (using export ->deployable plugin) and then I install them in a running equinox container (v3.7.1, from eclipse's plugin directory) and I got a lot of ClassNotFoundExceptions for RuntimeErrorException
this looks like a classpath issue. I think I am not exporting the bundle correctly, but I am not sure.
The problem only happens with 2 of the bundles, which use additional libraries
how can I do it correctly?
In case you need it, this is the full stack
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以异常之一为例:
javax.management.RuntimeErrorException
上的 NoClassDefFoundError。您是否在捆绑包中导入了包
javax.management
?请参阅 OSGi 社区 Wiki 中的以下页面,它似乎与您的问题直接相关: http:// /wiki.osgi.org/wiki/Why_does_Eclipse_find_javax.swing_but_not_Felix%3F
Taking one of the exceptions for example: NoClassDefFoundError on
javax.management.RuntimeErrorException
.Did you import the package
javax.management
in your bundle?See the following page from the OSGi Community Wiki, it seems directly relevant to your problem: http://wiki.osgi.org/wiki/Why_does_Eclipse_find_javax.swing_but_not_Felix%3F