如何在Eclipse RCP中使用插件项目的非插件项目?

时间:2012-06-04 11:34:13

标签: java logging eclipse-plugin eclipse-rcp

我已经有一个用于自定义日志记录功能的java项目(非插件),它在内部使用log4j。我想在eclipse插件项目中使用这个自定义记录器,所以我在插件项目的构建路径中指定了logger项目。当我尝试运行它给出ClassNotFoundException的插件应用程序时,它不会给出任何编译问题。

有谁能告诉我在插件项目中使用非插件项目的正确方法? 任何建议都将不胜感激。

谢谢&问候。

2 个答案:

答案 0 :(得分:4)

Eclipse是基​​于OSGi的,所有插件都是OSGi包。诀窍是,捆绑包通常只能看到其他捆绑包。你有几个选择:

  1. 将你的另一个罐子变成一束。您只需要添加一个OSGi MANIFEST.MF即可。这是推荐的方式,因为那个jar知道应该和不应该做什么
  2. 在您的包中包含该jar,并将其添加到Bundle-ClassPath。您必须注意导出的软件包以及版本级别,因为您不希望与另一个软件包发生冲突。

答案 1 :(得分:2)

您可以像Paul Webster建议的那样将您的jar转换为OSGi包。您可以查看我对这个问题How to convert jar to OSGi bundle的回答,有些人认为这个问题很有用。