Source:点击打开链接
Eclipse allows to define dependencies between plug-ins based on bundle or on package level. In the MANIFEST.MF of the plugin.xml you can tell that your plug-in should either depend on another plug-in (and all its exported packages) or if your plug-in should only depend on the availability of certain packages no matter which plug-in is exporting this package.
The corresponding statements in MANIFEST.MF are Require-Bundle: or Import-Package:
Today I got the question what approach should be preferred.
I believe the preferred way should be to use Import-Package because the coupling between the plug-ins is not that tight. As only as one plug-in exports this package the other plug-in will be fine. With this you can replaced a plug-in without changing the other plug-ins.
Of course if you have the same package in different plug-ins then you have to use the plug-in dependency.
The other advantage of plug-in dependencies is that the dependency is very clearly explicit, with the import-package it is not immediately obvious which plug-in is contributing this package.
But in total I would argue that loose coupling is always better so in general import-package should be preferred.
另外还有一篇文章关于OSGi Bundle Dependency写得非常漂亮:OSGi Bundle Dependency
本文探讨了在Eclipse插件开发中使用Require-Bundle与Import-Package声明依赖的区别。推荐使用Import-Package来降低插件间的耦合度,并讨论了不同情况下的适用场景。
2726

被折叠的 条评论
为什么被折叠?



