Dependencies 如何激活bundle';激活捆绑包时是否自动创建依赖项?

Dependencies 如何激活bundle';激活捆绑包时是否自动创建依赖项?,dependencies,osgi,bundles,Dependencies,Osgi,Bundles,在看过罗伯特·邓恩的作品后,我特别感兴趣的是: 如果您使用的解析器不知道处于活动状态捆绑包 那么你就必须自己管理这一切。具有 灵活你只需要问你需要什么,让解析器来处理 其余的。这将加快开发生命周期并保持 脚本中的冗余混乱 正如Richard所说,使用obr可以解决时间依赖问题。但是,我认为如果不扫描捆绑包的源代码,就很难解决活动时间依赖关系(活动捆绑包的依赖关系是自动的) 例如,如果捆绑包a使用了使用BundleContext.register方法在捆绑包B上注册的服务,则在激活捆绑包a时,我们

在看过罗伯特·邓恩的作品后,我特别感兴趣的是:

如果您使用的解析器不知道
处于活动状态
捆绑包 那么你就必须自己管理这一切。具有 灵活你只需要问你需要什么,让解析器来处理 其余的。这将加快开发生命周期并保持 脚本中的冗余混乱

正如Richard所说,使用obr可以解决时间依赖问题。但是,我认为如果不扫描捆绑包的源代码,就很难解决活动时间依赖关系(活动捆绑包的依赖关系是自动的)


例如,如果捆绑包a使用了使用
BundleContext.register
方法在捆绑包B上注册的服务,则在激活捆绑包a时,我们怎么知道我们也必须激活bundle B呢?

整个方法背后的假设是bundle将提供指示其需求和功能的元数据。可以从捆绑包中的其他构件推断出一些额外信息,例如web.xml文件或声明性服务组件文件

即使使用代码级依赖项,也无法检测任意动态类加载-元数据是必不可少的


编写一个能够确定捆绑包的所有可能功能和需求的程序将是一个很难的静态分析问题,而这些都是不可能的。

您可能也应该添加一个OSGi标签