我有一个RCP项目,我无法修复NoClassDefFoundError:一个插件依赖于另一个插件。插件依赖项在清单,包导出中设置,编译时没有错误。这两个插件都与产品相关,并且在产品的安装细节中可见。
但是当我运行应用程序时,当一个插件想要使用另一个插件中的类时,我会得到一个java.lang.NoClassDefFoundError。
非常感谢任何提示如何找到原因。
谢谢, 迈克尔
答案 0 :(得分:3)
我发现了问题:我创建了无法从现有Java项目加载的插件。不知怎的,我删除了“。”在插件清单中的条目Bundle-classpath中(该插件有一些jar - >所以lib / xyz.jar在Bundle-classpath条目中但不是“。”)。
对于bundle的类加载器,“。”意味着从bundle的根路径(或类似的东西)中搜索类,因此无法找到类。但是,IDE中没有错误,因此很难找到。
答案 1 :(得分:1)
运行应用程序的配置是否正确,即所有依赖项也都放在正在运行的配置中?