如何在各种eclipse插件之间共享依赖JAR?

时间:2017-03-10 05:08:35

标签: java eclipse eclipse-plugin classpath pde

我有插件A和插件B,两者都使用xyz.jar文件作为依赖。我不想将依赖项放在两个插件中,因为在运行时加载JAR的两个副本并不理想,它也可能会产生冲突,并且会增加大小。

所以我尝试创建插件C,其中我已经将所有依赖项和插件A和B添加插件C作为必需的插件。但在这里我遇到了出口/进口包的问题。

我从插件C导出了包,我无法在插件A或B中导入,所以有没有其他方法可以在多个项目中共享单个依赖jar?

1 个答案:

答案 0 :(得分:1)

  

所以我尝试创建插件C,其中我已经将所有依赖项和插件A和B添加插件C作为必需的插件。

这是正确的方法。

  

我已经从插件C导出了包,我无法在插件A或B中导入

然后你在创建C时可能做错了,但是你没有提供足够的信息来说明什么。

首先应检查xyz.jar是否已经是OSGi包:它的MANIFEST.MF文件中是否有Bundle-SymbolicNameBundle-Version等?或者如果它是开源的,那么可能已经有一个包装包在例如SpringSource Bundle Repository。在这些情况下,您可以直接将其用作插件依赖项。

如果不是,请参阅http://bnd.bndtools.org/chapters/390-wrapping.htmlhttp://enroute.osgi.org/tutorial_wrap/050-start以获取有关如何正确创建捆绑包的说明。