eclipse - Eclipse RCP - 使用从另一个插件导入的库中的类?
问题描述
跟随情况。
-pluiginCore <- 通过 pom.xml 包含许多库(libA,liB),别无他法
-pluginA..F <- 想要使用 libA 中的类。-pluginF..Z <- 想要使用 libB 中的类。
这可能与 RCP 吗?这是一个好方法吗?我是否需要在我想使用的每个插件中通过 pom.xml libA 和 LibB 导入它?
我添加了 pluginCore 作为 pluginA 的依赖项,但仍然不能使用 libA。
解决方案
您必须使用插件的 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 找到导入的包。