最近,我被分配来改进Eclipse插件所具有的相互依赖关系的结构。我们称之为"核心"并假设以下清单描述了这个eclipse插件,其中所有其他插件指向它们以便它们访问服务(RMI,OSGi服务)。使用" rmiservices.jar"可以访问这些服务。 (Maven生成的工件)和另一个名为" org.osgiservice"的eclipse插件。其他捆绑参考"核心"捆绑并使用Export-Package声明以使用这些服务。
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: core
Bundle-SymbolicName: coreid;singleton:=true
Bundle-Version: 0.0.1
Bundle-Activator: org.sample.Activator
Bundle-RequiredExecutionEnvironment: JavaSE-1.7
Bundle-ActivationPolicy: lazy
Export-Package: org.sample.api,
org.rmiservice,
org.osgiservice
Bundle-Localization: plugin
Bundle-ClassPath: lib/rmiservices.jar
Require-Bundle: org.osgiservice;bundle-version="1.0.0";visibility:=reexport
为了改善依赖结构而出现的问题是: