1

我已经有一个用于自定义日志记录功能的 Java 项目(非插件),该项目在内部使用 log4j。我想将此自定义记录器与 Eclipse 插件项目一起使用,因此我在插件项目的构建路径中指定了记录器项目。当我尝试运行它提供的插件应用程序时,它不会产生任何编译问题ClassNotFoundException

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

感谢和问候。

4

2 回答 2

4

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

  1. 把你的另一个罐子变成一个包。您只需向其中添加一个 OSGi MANIFEST.MF。这是推荐的方式,因为那个 jar 知道它应该做什么和不应该做什么
  2. 将该 jar 包含在您的包中,并将其添加到您的 Bundle-ClassPath。您必须注意导出的包和版本级别,因为您不想与另一个包发生冲突。
于 2012-06-04T12:24:48.457 回答
2

您可以按照 Paul Webster 的建议将您的 jar 转换为 OSGi 包。你可以看看我对这个问题的回答How to convert jar to OSGi bundle,有些人觉得这很有用。

于 2012-06-04T12:32:50.697 回答