首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Knopflerfish,在捆绑中使用外部库

Knopflerfish,在捆绑中使用外部库
EN

Stack Overflow用户
提问于 2013-02-26 08:59:00
回答 1查看 719关注 0票数 1

我知道OSGI包中有两种使用外部库的方法。由于只有我的包需要库(例如google),所以我尝试将其放入Bundle-ClassPath (manifest.mf)中。但是每当我在Knopflerfish中运行这个包时,我就会得到Exception in thread "Thread-74" [stderr] java.lang.NoClassDefFoundError: com/google/gson/Gson

由于我是OSGI新手,所以我试着按照使用这里创建包的说明,使用build.xml进行编译,其中还包含了库(不知道这是否正确)。因此,库出现在三个不同的位置:项目类路径、包类路径(manifest.mf)和build.xml。

如果有人能告诉我如何使图书馆工作,我会很高兴的。提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2016-08-25 10:11:26

有几个提示可能对我有帮助和帮助:

  • 包的MANIFEST.MF可能有一个类似于Import-Package: org.osgi.framework的行。在这一行中,您应该从库中添加所需包的导入,因此它仍然是Import-Package: org.osgi.framework, com.google.gson
  • 正如TheWhiteRabbit在其答复中所说的那样,库应该有一个类似于Export-Package: its.sec.api.service的导出行,因此其他包可能会看到它。已经编译和打包的库通常已经安装好了,但我发现有些库还没有安装,所以检查它是一个很好的实践。

还请记住,可能会将外部库安装到框架中,就好像它是包一样,即在安装的init.xargs - install jars/myLib/myLibrary.jar 中,但没有启动

希望这能有所帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15084946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档