gpt4 book ai didi

java - Knopflerfish,在 bundle 中使用外部库

转载 作者:太空宇宙 更新时间:2023-11-04 07:47:18 26 4
gpt4 key购买 nike

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

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

如果有人能给我一些如何让图书馆工作的提示,我会很高兴。提前致谢!

最佳答案

流程如下

1.将所有.jar文件及其依赖项复制到文件夹

2.在MANIFEST.MF中的BUNDLE-CLASSPATH中提及它。引用this

3.重要的是,将此库中的添加到MANIFEST.MF中的Export-package元素,以使其对其他包可见。

希望这能解决您的问题

关于java - Knopflerfish,在 bundle 中使用外部库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15084946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com