【发布时间】:2013-05-01 08:24:06
【问题描述】:
我已经定义了四个捆绑包:
bundle 1 : export package x version 1
bundle 2 : import package x ver [1,2] and export package y;y uses x
bundle 3 : export package x version 2
bundle 4 : import package y and also import package x version 2
使用 apache felix(可分发二进制文件),我发现我应该手动强制不解析(或启动)捆绑包 1,然后在启动捆绑包 3 之前捆绑包 2(否则会出现使用约束问题,因为捆绑包 2 将使用包x 版本 1 和捆绑包 4 中将出现包 x 版本 1 和版本 2 --> 使用约束违规)。
感谢这些帖子的作者:
http://njbartlett.name/2011/02/09/uses-constraints.html
http://blog.springsource.com/2008/10/20/understanding-the-osgi-uses-directive/
我不喜欢对我的包强加命令,我需要复制 /bundle 目录中的所有包,然后安装框架实例并启动它们。
我注意到 Apache felix 按字母顺序对要安装的包进行排序(因此将安装包 1,然后首先启动)。
我尝试使用 Apache karaf,将我的包复制到 /deploy 中,发现问题消失了,所以我的问题是:
Apache Karaf(或 felix 文件安装)是否应用策略来强制启动捆绑包的任何顺序以避免此类问题?
【问题讨论】:
标签: osgi apache-felix apache-karaf