首页 > 解决方案 > Eclipse RCP - 使用从另一个插件导入的库中的类?

问题描述

跟随情况。

-pluiginCore <- 通过 pom.xml 包含许多库(libA,liB),别无他法

-pluginA..F <- 想要使用 libA 中的类。-pluginF..Z <- 想要使用 libB 中的类。

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

我添加了 pluginCore 作为 pluginA 的依赖项,但仍然不能使用 libA。

标签: eclipseeclipse-rcp

解决方案


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

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

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 找到导入的包。


推荐阅读