我使用 Eclipse Indigo 使用 OSGi Java 框架开发了一些包。有一个 Main Bundle,它依赖于其他 bundle 并且具有要运行的主程序。NoClassDefFoundError
如果我尝试在 Eclipse 中运行所有包,一切正常,但如果我将每个包保存为 JAR 并在命令行中启动 OSGi 框架,我在尝试启动主包时遇到异常。找不到的类是依赖项。捆绑包的其余部分获得状态 ACTIVE,主捆绑包刚刚解决。
我已经创建了一个包含我正在使用的所有库(mysql 连接器等...)的包,并且我将这个包导入到我需要这些库的每个包中。我不知道这是否是实现它的最佳方法。另外,我在我的应用程序中使用线程,其中一些使用来自不同包的方法,这可能是问题的根源吗?
有谁知道我能做什么?我还必须在 Apache Karaf 中安装捆绑包,我得到了相同的结果。它与每个捆绑包的起始级别有关吗?