Eclipse RCP:java.lang.ClassNotFoundException一个运行时

时间:2014-06-12 08:07:35

标签: java eclipse jar eclipse-plugin eclipse-rcp

我的一个插件使用了一个库(jar文件)。

  1. 我在插件中创建了一个名为lib的文件夹,并将jar文件放入其中。
  2. 我通过添加jar文件"添加JARS来配置构建路径。"。
  3. 我在插件中使用了jar文件的类,它编译得很好。
  4. 启动RCP并获取有关jar文件中的类的ClassNotFoundException。
  5. 我错过了什么?

1 个答案:

答案 0 :(得分:9)

欢迎来到OSGi的精彩世界! :d

您有两种选择:

将JAR重新打包为OSGi包

您可以使用OSGi方式并在OSGi包中重新打包JAR。这是OSGi意义上的干净和推荐,因为所有代码都应该打包在OSGi包中(在你的例子中称为 Eclipse插件)。但是,这意味着额外的工作,我个人不喜欢它。

使用捆绑类路径

将JAR文件放到捆绑包的根目录(或名为lib的文件夹)中,并在清单中添加Bundle-ClassPath条目:

Bundle-ClassPath: .,lib/library.jar