为什么我们需要`进口Packages`当我们在Eclipse插件的依赖关系'所需的插件ins

2019-07-17 11:02发布

在开发Eclipse应用程序,在MANIFEST.MF的依赖性选项卡有两列。

其一是Required Plug-ins ,另一种是Imported Packages

为什么我们需要Imported Packages ,当我们有Required Plug-ins

注释就有“这个插件依赖没有明确确定其原产插件”,但我不知道在什么情况下,一个不想要明确地识别插件的起源,什么是它的优势, ?

添加

相关的问题- 什么是Eclipse的包和插件之间的区别?

Answer 1:

导入包提供间接的上方需要束的额外的水平。

考虑到一些标准API的情况下... org.standard.framework 。 假设两家公司实施此API,也许你有捆绑com.abc.frameworkcom.xyz.framework 。 这两个实施束将出口org.standard.framework包。

现在假设,你需要一个org.standard.framework实现,但你并不特别在意哪一个。 如果您需要任何com.abc.frameworkcom.xyz.framework包,你自己绑到特定的实现。 随着进口包指令,你让的OSGi作为一个间接层。

进口包装的另一个优点是,你的依赖并不需要改变,如果一个包移动到另一个包。 这种情况可以重构时束被拆分或合并过程中出现。

由于这些原因,OSGi的规范作家现在一般建议使用在需要束相对较新的进口-package指令。 问题是,并非所有的包都为此做好准备。 许多出口包时尚未指定版本。 这使得进口封装在许多情况下是不切实际的。



Answer 2:

指定在整个插件的依赖,而不是,那么只有必需的软件包可以创建一个循环依赖,如果你有很多的插件。 这是更好的做法是只指定实际需要的软件包。 因为如果你是肯定的插件量小,你能够有效地保持相关性,欢迎您通过指定整个插件来简化你的生活。 希望这可以帮助。



文章来源: Why do we need `Imported Packages` when we have `Required Plug-ins` in Eclipse plugin dependencies?