Eclipse RCP - 使用从另一个插件导入的库中的 类?

Eclipse RCP - Use Classes from a library that are imported from another plugin?

关注情况。

-pluiginCore <- 通过 pom.xml 包含许多库(libA、libB),什么都不做

-pluginA..F <- 想使用来自 libA 的 类。 -pluginF..Z <- 想使用来自 libB 的 类。

RCP 可以吗? 这是一个好方法吗? 我需要在我想使用它的每个插件中通过 pom.xml libA 和 LibB 导入吗?

我将 pluginCore 添加为 pluginA 的依赖项,但仍然无法使用 libA。

您必须使用插件 MANIFEST.MF 中的指令来执行此操作。

对于包含库的插件,您使用 Bundle-ClassPath 指定插件中的 jars。例如:

Bundle-ClassPath: .,
 lib/jogg-0.0.7.jar,
 lib/jorbis-0.0.15.jar,
 lib/vorbisspi1.0.2.jar

. 条目是插件中的普通代码,其他条目是 lib 目录中的 jar。

您还必须在 build.properties 中为插件指定额外的 jar。

您使用 Export-Package 指令来说明这些 jar 中的哪些包可用于其他插件:

Export-Package: com.jcraft.jogg,
 com.jcraft.jorbis

希望引用这些包的插件可以使用 Require-Bundle 向导出包的插件添加依赖项,或者可以使用 Import-Package 让 Eclipse 找到导入的包。