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

Mar*_*kus 3 java eclipse eclipse-plugin jar eclipse-rcp

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

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

我错过了什么?

Tho*_*rig 9

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

您有两种选择:

将JAR重新打包为OSGi包

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

使用bundle类路径

将JAR文件放入lib捆绑包的根目录(或称为文件夹)Bundle-ClassPath并向清单添加条目:

Bundle-ClassPath: .,lib/library.jar
Run Code Online (Sandbox Code Playgroud)